2016-09-19 80 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)