我正在尝试组合来自3个不同数据框的具有相同名称的列,并使用组合列创建新数据框。具有挑战性的是每个数据框有100列,因此我必须创建100个新数据帧并将每个数据帧写为具有唯一列名的新文本文件。
write.csv(cbind(data1 [,1],data2 [,1],data3 [,1]),“new1.csv”)
同样,我需要在每个数据框中使用9列创建9个csv文件。如果可能的话,请帮忙。
非常感谢你。
答案 0 :(得分:1)
我想这是融化和重塑的经典案例
## list containing 3 data frames (10 obs, 5 columns)
df.list <- lapply(1:3, function(z) {
m <- matrix(rnorm(50), nrow = 10)
colnames(m) <- LETTERS[1:5]
m
})
library(reshape2)
mdf <- melt(df.list)
list.by.var <- split(mdf, f = mdf1$Var2)
## list containing 5 data frames (10 obs, 3 columns)
lapply(list.by.var, dcast, formula = Var1 ~ L1)
与此post 类似的OR
bind.ith.cols <- function(i) do.call(cbind, lapply(df.list, "[", TRUE, i))
nc <- ncol(df.list[[1]])
lapply(1:nc, bind.ith.cols)