我有一个向量x <- c(1:10)
,我的问题陈述是,如果我的元素总和大于或等于10,则将它们存储在不同的对象中,这样我的输出看起来像
a=(1,2,3,4); b=(5); c1=(6); d=(7); e=(8); f=(9); g=(10)
我试过这个
x <- c(1:10)
for(i in x) {
if(sum(x) <= 10)
{
.
.
.
}
}
任何帮助都会非常感激!
答案 0 :(得分:1)
我们可以根据它创建一个双cumsum
来创建一个分组变量split
vector
('x')。
lst <- split(x, cumsum(cumsum(x)>10))
如果我们在全球环境中需要单个对象,可以使用list2env
(但不推荐)
list2env(setNames(lst, letters[seq_along(lst)]), envir = .GlobalEnv)