2016-09-19 78 views
2

我有一个载体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) 
    { 
    . 
    . 
    . 
    } 

} 

任何帮助将不胜感激!

回答

1

我们可以做一个双重cumsum创建一个分组变量和splitvector('x')的基础上。

lst <- split(x, cumsum(cumsum(x)>10)) 

如果我们在全球环境中需要单独的对象,list2env都可以使用(但不推荐)

list2env(setNames(lst, letters[seq_along(lst)]), envir = .GlobalEnv)