如果我有这样的系列:
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)
我该怎么办?
我可以使用什么功能?
答案 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]]
作为第一个向量。