这可能非常简单,但我找不到解决方案:
df <- data.frame(replicate(10,sample(0:1,10,rep=TRUE)))
v <- c(3, 7)
有没有一种优雅的方法可以在 v 中指定的行号处将此数据帧拆分为(列表的)三个元素?
假设行1&2
进入第一个分割,3,4,5,6
在第二个和7 to nrow(df)
放在最后
split(df, cumsum(1:nrow(df) %in% v))
but if 1:3
行位于第一个分割中,然后出现4:7
,并且在第三个8 to nrow(df)
split(df, cumsum(c(TRUE,(1:nrow(df) %in% v)[-nrow(df)])) )
或者正如@James 在评论中提到的,
split(df, cumsum(1:nrow(df) %in% (v+1)))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)