【问题标题】:R programming, split dataR编程,拆分数据
【发布时间】:2015-06-15 21:39:49
【问题描述】:

我的数据如下:

ID   age   sugarlevel

123  15      8

456  13      10

789  25      5

...  

任何人都知道如何使用 R 根据糖级 (>=7,

group 1:

ID  age  sugarlevel

123  15      8

456  13      10

...

group 2:

ID  age  sugarlevel

789  25      5

...

提前致谢。

【问题讨论】:

    标签: r


    【解决方案1】:

    我们可以通过分组变量df1$sugarlevel >=7(来自@nicola's cmets)split 数据集

     lst <- setNames(split(df1, df1$sugarlevel >=7), paste0('group',1:2))
     lst
     #$group1
     # ID age sugarlevel
     #3 789  25          5
    
     #$group2
     #   ID age sugarlevel
     #1 123  15          8
     #2 456  13         10
    

    最好使用“列表”中的数据集,但如果我们需要在全局环境中有两个单独的对象,

     list2env(lst, envir=.GlobalEnv)
     group1
     #  ID age sugarlevel
     #3 789  25          5
    

    【讨论】:

    • 为什么是cumsum?看来他只需要两组,split(df1, df1$sugarlevel &gt;=7)就足够了。
    • @nicola 是的,谢谢您可以将其作为解决方案发布。我会删除这个
    • 没问题,继续,只需编辑您的答案。很多次你帮助改进了我的答案:)
    • @rmuc8 你是对的。 cumsum 搞砸了分组,我只是在发布解决方案后才注意到:-)
    • 是的,它有效!谢谢!但是如何将这两组放入新数据中? $'FALSE' 和 $'TURE' 是代码吗? @nicola
    猜你喜欢
    • 1970-01-01
    • 2019-08-07
    • 1970-01-01
    • 1970-01-01
    • 2023-01-22
    • 2014-03-12
    • 2016-06-27
    • 2012-01-15
    • 1970-01-01
    相关资源
    最近更新 更多