如何在R中分组

时间:2014-12-25 03:36:10

标签: r grouping

如果我有这样的系列:

s={9, 4, 6, 5, 3, 10, 5, 3, 5)}   

我想将小组除以数字5

最后,它必须是

s1={9, 4, 6, 5}    
s2={5, 3, 10, 5}    
s3={5, 3, 5}

我已经尝试了

cut(ss,ss==5)    

我该怎么办?

我可以使用什么功能?

1 个答案:

答案 0 :(得分:4)

这是一种生成包含三个向量的列表的方法:

# the original vector
s <- c(9, 4, 6, 5, 3, 10, 5, 3, 5) 

# an index vector
idx <- unique(c(1, which(s == 5), length(s)))

# create a list
mylist <- lapply(seq(length(idx) - 1), function(i) s[idx[i]:idx[i+1]])

mylist
# [[1]]
# [1] 9 4 6 5

# [[2]]
# [1]  5  3 10  5

# [[3]]
# [1] 5 3 5

您可以使用[[访问列表元素,例如mylist[[1]]作为第一个向量。