我的数据框很少,一列是值及其对应的名称。 我希望当我合并它们时我也保留行名称
例如
df1<- data.frame(replicate(1,sample(0:1,10,rep=TRUE)))
df2<- data.frame(replicate(1,sample(0:1,10,rep=TRUE)))
df3<- data.frame(replicate(1,sample(0:1,10,rep=TRUE)))
我希望有一个类似
的输出row.names1 variable row.names2 variable row.names2 variable
1 1 1 1 1 0
2 1 2 0 2 1
3 0 3 0 3 1
4 0 4 1 4 1
5 0 5 0 5 0
6 0 6 0 6 0
7 0 7 1 7 0
8 0 8 1 8 0
9 0 9 0 9 0
10 1 10 1 10 1
答案 0 :(得分:1)
do.call(cbind,mget(paste0("df",1:3)))
答案 1 :(得分:1)
我想你想cbind
保存rownames的数据集。使用data.table
的选项是
library(data.table) #data.table_1.9.5
dt <- do.call(cbind,lapply(mget(paste0("df",1:3)),
as.data.table, keep.rownames=TRUE))
setnames(dt, seq(2,ncol(dt),by=2), rep('variable',3))
setnames(dt, seq(1,ncol(dt), by=2), paste0('row.names', 1:(ncol(dt)/2)))
head(dt,2)
# row.names1 variable row.names2 variable row.names3 variable
#1: 1 0 1 1 1 1
#2: 2 0 2 1 2 0