需要将 expand.grid 的输出合并到 R 中的 csv 文件中

need to merge output of expand.grid into a cvs file in R

我有 20 个不同的列表变量 say

a= c("red" "blue"), b= c("circle", "square"), c= c("inside","outside")

我正在通过命令获取不同列表之间的组合:

 data1 <- expand.grid(a, b) 
 data2 <- expand.grid(a, d) 

我想将 data1data2 的所有输出合并到一个数据集中。

我想将数据导出到 cvs 文件中。

对于给定的示例,您可以这样做:

all_combined <- do.call("rbind",
  lapply(combn(list(a, b, c), 2, simplify = FALSE),
    do.call, what = "expand.grid")
)

输出

#     Var1    Var2
#1     red  circle
#2    blue  circle
#3     red  square
#4    blue  square
#5     red  inside
#6    blue  inside
#7     red outside
#8    blue outside
#9  circle  inside
#10 square  inside
#11 circle outside
#12 square outside

如果你只是想要特定的组合,你可以这样做:

data1 <- expand.grid(a, b)
data2 <- expand.grid(a, c)

combined <- rbind(data1, data2)

然后可以使用以下方法将其写入 CSV:

write.csv(combined, "CombinedData.csv")