如何在R中编写循环以根据列名创建多个不同的数据子集?

汉娜·威尔森(Hannah Willson)

我想编写一个循环,以从大型数据帧(总共包含48列)创建数据子集,该数据集也可以自动将这些子集写到.txt文件中。我将从描述每个文件中要实现的结构开始:

  • 前9列应按原样打印在从主文件创建的每个子集中。这些对于创建的所有文件都是必需的。每个子集共有11列。
  • 第10和11列是每个子集中将要更改的内容。循环应遍历原始数据帧中的其余39列,并以所有可能的方式将它们组合在一起。因此,如果原始数据集中的列名称为AA,BB,CC,DD,EE,则子集数据的一些示例组合为:

(前9栏)AA BB

(前9栏)AA CC

(前9列)AA DD

(前9列)AA EE

  • 应根据第10列和第11列的名称写出文件。因此,循环创建的文件将是:

AAxBB.txt

AAxCC.txt

AAxDD.txt

AAxEE.txt

我以前曾尝试编写使用列名的循环,但对我来说结果并不理想。请参阅前面的问题,以获取有关如何尝试编写代码的示例。我想知道的是如何潜在地两次使用列名作为变量,以便按我的意愿写出文件。那可能吗?索引系统会更好吗?非常感谢您的协助!

到目前为止,这是我正在研究的内容:

for (i in colnames(data)){
    for (j in colnames(data){
        subset = subset(data, select = c("1", "2", "3", "4", "5", "6", "7", "8", "9", "print(i)", "print(j)"
        write.table(subsetprint(i)&print("x")&print(j), file ="print(i)&print("x")&print(j)", quote = F, row.names = F, col.names = F, sep = " ", na = "-999")
    }
}
瑞·巴拉达斯(Rui Barradas)

基本功能combn对此非常理想。您可以获取其余列名称中所有2×2的组合,并在每个组合上调用一个函数。

首先,一些数据。

set.seed(1234)
df1 <- matrix(rnorm(5*(4+5)), nrow = 5)
df1 <- as.data.frame(df1)

现在的代码。请注意,我将只保留前4列,而不是9列。您应该将functionfun参数的默认值更改DF = df1DF = yourdata

first_cols <- 1:4

fun <- function(nms, DF = df1, fc = first_cols){
  cols <- c(names(DF)[fc], nms)
  outfile <- paste(nms, collapse = 'x')
  outfile <- paste(outfile, 'txt', sep = '.')
  write.table(DF[cols], outfile, 
              row.names = FALSE, col.names = FALSE, 
              quote = FALSE, sep = ' ')
  cols
}
combn(names(df1)[-first_cols], 2, fun)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何根据列名的长度对R中的列进行子集设置?

来自分类Dev

R-在循环中创建多个数据集的子集

来自分类Dev

如何在R脚本中从数据集1创建子集(数据集2)

来自分类Dev

如何在熊猫中连接两个或多个具有不同列名的数据框

来自分类Dev

不同数据子集上的循环方程 R

来自分类Dev

如何在R中创建函数以创建列的子集?

来自分类Dev

如何根据 R 中变量的不同级别创建不同的数据集?

来自分类Dev

想要通过在循环中对数据框进行子集化并根据 i 值分配每个数据框名称来在 R 中创建新数据框

来自分类Dev

如何循环涉及R中数据帧子集的函数?

来自分类Dev

R中不同子集与不同数据的乘法

来自分类Dev

通过 R 中的循环将数据子集到不同的数据帧中

来自分类Dev

如何在循环中更改数据框中的列名?

来自分类Dev

如何在R的另一列中仅对具有多个不同值的行进行子集化?

来自分类Dev

如何在Flutter中的不同时间在Sqlite数据库中创建多个表

来自分类Dev

如何在R的for循环中从多个数据帧中输出多个pdf文件

来自分类Dev

如何在熊猫的for循环迭代中创建多个数据框?

来自分类Dev

如何在R中创建循环列?

来自分类Dev

如何在 R 中的循环中运行具有多个不同长度参数的函数

来自分类Dev

使用循环根据R中的子集数据计算相关性

来自分类Dev

如何根据输入变量在 r 中创建多个具有单独名称的数据框

来自分类Dev

如何在R中运行多个相关性测试并根据函数结果创建新表

来自分类Dev

如何在R中读取大型数据集的子集?

来自分类Dev

如何从多个数据帧中为for循环子集数据

来自分类Dev

根据列名称创建DataFrame的子集

来自分类Dev

如何在R中循环数据?

来自分类Dev

如何使用循环形式的r重命名多个数据集中的列的子集

来自分类Dev

如何像R中的SAS那样按列名对数据帧进行子集化?

来自分类Dev

使用循环在R中创建多个数据帧

来自分类Dev

如何在R中的数据框中给列名加上“ /”?

Related 相关文章

  1. 1

    如何根据列名的长度对R中的列进行子集设置?

  2. 2

    R-在循环中创建多个数据集的子集

  3. 3

    如何在R脚本中从数据集1创建子集(数据集2)

  4. 4

    如何在熊猫中连接两个或多个具有不同列名的数据框

  5. 5

    不同数据子集上的循环方程 R

  6. 6

    如何在R中创建函数以创建列的子集?

  7. 7

    如何根据 R 中变量的不同级别创建不同的数据集?

  8. 8

    想要通过在循环中对数据框进行子集化并根据 i 值分配每个数据框名称来在 R 中创建新数据框

  9. 9

    如何循环涉及R中数据帧子集的函数?

  10. 10

    R中不同子集与不同数据的乘法

  11. 11

    通过 R 中的循环将数据子集到不同的数据帧中

  12. 12

    如何在循环中更改数据框中的列名?

  13. 13

    如何在R的另一列中仅对具有多个不同值的行进行子集化?

  14. 14

    如何在Flutter中的不同时间在Sqlite数据库中创建多个表

  15. 15

    如何在R的for循环中从多个数据帧中输出多个pdf文件

  16. 16

    如何在熊猫的for循环迭代中创建多个数据框?

  17. 17

    如何在R中创建循环列?

  18. 18

    如何在 R 中的循环中运行具有多个不同长度参数的函数

  19. 19

    使用循环根据R中的子集数据计算相关性

  20. 20

    如何根据输入变量在 r 中创建多个具有单独名称的数据框

  21. 21

    如何在R中运行多个相关性测试并根据函数结果创建新表

  22. 22

    如何在R中读取大型数据集的子集?

  23. 23

    如何从多个数据帧中为for循环子集数据

  24. 24

    根据列名称创建DataFrame的子集

  25. 25

    如何在R中循环数据?

  26. 26

    如何使用循环形式的r重命名多个数据集中的列的子集

  27. 27

    如何像R中的SAS那样按列名对数据帧进行子集化?

  28. 28

    使用循环在R中创建多个数据帧

  29. 29

    如何在R中的数据框中给列名加上“ /”?

热门标签

归档