R按每列值拆分矩阵
我在R中有这样一个数据帧(比这个长得多,但我想它概括了): 并希望从id列中的每1个值中拆分它们。所以在结果中,我应该有3个子矩阵,如:R按每列值拆分矩阵,r,matrix,split,dataframe,R,Matrix,Split,Dataframe,我在R中有这样一个数据帧(比这个长得多,但我想它概括了): 并希望从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=sp
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和其他变量分开。我们可以通过获取逻辑向量的累积和来创建分组变量(
df1$id==1
)
result=split(xx,xx$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