【问题标题】:R split matrix by every column valueR按每列值拆分矩阵
【发布时间】:2016-03-28 09:35:13
【问题描述】:

我在 R 中有一个这样的数据框(比这长得多,但我想它总结了):

label   id   value1   value2
p01     1      0        0
p02     2      1        3
p03     1      0        5
p04     2      2        4
p05     3      6        7
p06     1      0        8

并希望将它们从 id 列中的每个 1 值中拆分出来。所以结果我应该有3个子矩阵,比如:

p01     1      0        0
p02     2      1        3

p03     1      0        5
p04     2      2        4
p05     3      6        7

p06     1      0        8

我怎么能这样做?我试过了:

result=split(xx,xx$id==1)

但它将 1 和其他的分开。

【问题讨论】:

    标签: r matrix split dataframe


    【解决方案1】:

    我们可以通过取逻辑向量的累积和来创建分组变量(df1$id==1)

    split(df1,cumsum(df1$id==1))
    #$`1`
    #  label id value1 value2
    #1   p01  1      0      0
    #2   p02  2      1      3
    
    #$`2`
    #  label id value1 value2
    #3   p03  1      0      5
    #4   p04  2      2      4
    #5   p05  3      6      7
    
    #$`3`
    #  label id value1 value2
    #6   p06  1      0      8
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多