Необходимо объединить вывод файла расширения.grid в файл cvs в R
У меня есть 20 различных списков переменных, скажем
a= c("red" "blue"), b= c("circle", "square"), c= c("inside","outside")
Я беру комбинации между различными списками командой:
data1 <- expand.grid(a, b)
data2 <- expand.grid(a, d)
Я хочу объединить все выходные данные data1
, data2
в единый набор данных.
Я хотел бы экспортировать данные в файл CVS.
1 ответ
Решение
Для приведенного вами примера вы можете сделать это:
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")