将第二组列名添加到数据框

Adding a second set of column names to a data frame

我有以下数据框 (df1):

     C1   C2   C3  C4
R1   11   21   31  a1
R2   de   bc   cc  b
R3   dc   ec   dc  c
R4   gc   gc   gc  d

我可以将每 2 个名称的列名称添加到一起并获得以下数据框 (df2):

        C12      C34
     C1   C2   C3  C4
R1   11   21   31  a1
R2   de   bc   cc  b
R3   dc   ec   dc  c
R4   gc   gc   gc  d

应添加 C12 和 C34,以便我可以使用 df2(C12) 获得子集:

       C12     
     C1   C2  
R1   11   21   
R2   de   bc   
R3   dc   ec   
R4   gc   gc

我不知道有什么方法可以将第二组列名添加到数据框中。也就是说,您可以通过创建包含所需列名的向量来轻松实现此功能:

C12 <- c("C1", "C2")
C34 <- c("C3", "C4")
df1[C12]
#    C1 C2
# R1 11 21
# R2 de bc
# R3 dc ec
# R4 gc gc
df1[C34]
#    C3 C4
# R1 31 a1
# R2 cc  b
# R3 dc  c
# R4 gc  d

如果您想按行进行子集化,您可以只使用行名:

R12 <- c("R1", "R2")
R34 <- c("R3", "R4")
df1[R12,]
#    C1 C2 C3 C4
# R1 11 21 31 a1
# R2 de bc cc  b
df1[R34,]
#    C1 C2 C3 C4
# R3 dc ec dc  c
# R4 gc gc gc  d