【问题标题】:How to split a dataframe into multiple at the same time based on the value of one column如何根据一列的值同时将数据帧拆分为多个
【发布时间】:2023-02-07 18:19:25
【问题描述】:
crop.genos <- data.frame(crop=rep(1:6, each=4),genos=rep(1:4, 6))
crop.genos$crop.genotype <- paste(crop.genos$crop, crop.genos$genos, sep="")

在这里,我得到了一个包含三列的数据框:crop、genos、crop.geotype。我想根据作物类别获得六个不同的数据框(如下例所示),其余所有列都保留

   crop genos crop.genotype
1     1     1            11
2     1     2            12
3     1     3            13

【问题讨论】:

    标签: r dataframe


    【解决方案1】:

    使用split

    l <- split(crop.genos, crop.genos$crop)
    names(l) <- paste0('df', names(l))
    list2env(l, env = .GlobalEnv)
    

    输出

    > df1
    #  crop genos crop.genotype
    #1    1     1            11
    #2    1     2            12
    #3    1     3            13
    #4    1     4            14
    

    【讨论】:

    • 谢谢,但我怎样才能提取任何数据框?
    • 您可以使用 list2env 将所有数据帧放入您的全局环境中。见编辑
    猜你喜欢
    • 2020-04-21
    • 1970-01-01
    • 2021-04-29
    • 1970-01-01
    • 2019-08-20
    • 2018-05-05
    • 2021-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多