我有 5 个表,其中包含相同的 A B C 列(列名称相同)
我想创建一个数据框,在其中合并所有五个表,我尝试了该命令
My_Data <- data.frame(T1,T2,T3,T4,T5,T6)
但是我得到了像这样的重复列
A B C A1 B1 C1 A2 B2 C2 A3 B3 C3 A4 B4 C4
12 2 1 12 1 5 12 12 2 1 8 9 7 2 12
1 78 2 34 5 1 4 45 4 5 4 4 6 4 3
4 2 3 12 2 12 6 23 12 45 12 23 8 5 4
正如您所看到的重复列数 5 ( 35 = 15 ),但我想要的输出不是这个结果,而是:
A B C
12 2 1
1 78 2
4 2 3
12 1 5
34 5 1
12 2 12
...
..
您可以根据字母进行拆分、堆叠和列装订,即
l1 <- split.default(df, gsub('\\d+', '', names(df)))
setNames(do.call(cbind, lapply(l1, function(i)stack(i)[1])), names(l1))
# A B C
#1 12 2 1
#2 1 78 2
#3 4 2 3
#4 12 1 5
#5 34 5 1
#6 12 2 12
#7 12 12 2
#8 4 45 4
#9 6 23 12
#10 1 8 9
#11 5 4 4
#12 45 12 23
#13 7 2 12
#14 6 4 3
#15 8 5 4