【问题标题】:Extracting elements from within list elements从列表元素中提取元素
【发布时间】:2018-10-24 19:53:19
【问题描述】:

我有以下清单:

df1 <- data.frame(A=1:10, B=2:11, C=3:12)
df2 <- data.frame(A=10:19, B=9:18, C=8:17)
df3 <- data.frame(A=100:109, B=80:89, C=20:29)
my_list <- list(df1, df2, df3)

是否可以提取所有 A 列并将它们放入新的数据框中?我希望得到的结果数据框是:

df4 <- data.frame (df1=1:10, df2=10:19, df3=100:109)

谢谢!

【问题讨论】:

    标签: r


    【解决方案1】:

    当然,除了列名。如果列表命名为 in

    my_list <- list(df1 = df1, df2 = df2, df3 = df3)
    

    确实如此

    data.frame(lapply(my_list, `[[`, "A"))
    #    df1 df2 df3
    # 1    1  10 100
    # 2    2  11 101
    # 3    3  12 102
    # 4    4  13 103
    # 5    5  14 104
    # 6    6  15 105
    # 7    7  16 106
    # 8    8  17 107
    # 9    9  18 108
    # 10  10  19 109
    

    否则,

    my_list <- list(df1, df2, df3)
    head(data.frame(lapply(my_list, `[[`, "A")), 2)
    #   X1.10 X10.19 X100.109     
    # 1     1     10      100
    # 2     2     11      101
    head(data.frame(lapply(my_list, `[`, "A")), 2)
    #   A A.1 A.2
    # 1 1  10 100
    # 2 2  11 101
    

    这样您可能需要手动分配列名。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-23
      • 2015-03-24
      • 1970-01-01
      相关资源
      最近更新 更多