gpt4 book ai didi

R Split data.frame 使用代表和开/关开关的列

转载 作者:行者123 更新时间:2023-12-02 06:57:06 26 4
gpt4 key购买 nike

我有如下所示的数据:

a <- data.frame(cbind(x=seq(50),
y=rnorm(50),
z=c(rep(0,5),
rep(1,8),
rep(0,3),
rep(1,2),
rep(0,12),
rep(1,12),
rep(0,8))))

我想在 z 列上拆分 data.frame a 但将每个组作为单独的 data.frame 作为 a列表的成员,即在我的示例中,前 5 行将是列表中的第一个项目,接下来的 8 行将是列表中的下一个项目,接下来的 3 行将是之后的项目等等。

简单因数将所有 1 和所有 0 组合在一起...

我确信有一种简单的方法可以做到这一点,但目前还没有实现。

谢谢

最佳答案

试试 data.table 中的 rleid 函数 v > 1.9.5

library(data.table)
split(a, rleid(a$z))
# $`1`
# x y z
# 1 1 -0.03737561 0
# 2 2 -0.48663043 0
# 3 3 -0.98518106 0
# 4 4 0.09014355 0
# 5 5 -0.07703517 0
#
# $`2`
# x y z
# 6 6 0.3884339 1
# 7 7 1.5962833 1
# 8 8 -1.3750668 1
# 9 9 0.7987056 1
# 10 10 0.3483114 1
# 11 11 -0.1777759 1
# 12 12 1.1239553 1
# 13 13 0.4841117 1
....

关于R Split data.frame 使用代表和开/关开关的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29122618/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com