R组合数据帧列并转置到新数据帧中

时间:2015-01-28 17:04:59

标签: r

我有一系列数据帧,我希望从中构建一个新的数据帧,其中每一行代表一个原始数据帧和行数据的列元素。即:

data1 <- c("bill",1,"a","b")
data2 <- c("bob",2,"a","a")
data3 <- c("bert",3,"c","b")
data4 <- c("bill",1,"b","b")
data5 <- c("bob",2,"b","a")
data6 <- c("bert",3,"a","b")


file1 <- rbind(data1,data2,data3)
file2 <- rbind(data4,data5,data6)

这个模型数据我想要一个这样的数据框:

      bill    bob    bert
file1  a b    a a     c b
file2  b b    b a     a b

其中每一行代表一个文件,每个列标题是这些文件中的一行“bill”,“bob”,“bert”等,包含文件第3和第4列的数据。

有没有简单的方法来实现这一目标?

谢谢,

马特

1 个答案:

答案 0 :(得分:1)

另一种方式:

z <- list(file1=file1,file2=file2)
res <- t(sapply(z, function(d) paste(d[,3],d[,4])))
colnames(res) <- file1[,1]

res
#        bill  bob   bert 
# file1 "a b" "a a" "c b"
# file2 "b b" "b a" "a b"