2017-09-15 43 views
1

我想創建一個名稱列表,其中每個名稱都有多個值。我只能找到如何做到這一點,如果每個名稱都有一個值。我現在使用的解決方案是從兩列中爲每個名稱創建一個具有多個值的列表

df <- data.frame(col1=c('a','a','b','b'), col2=c(1,2,3,4)) 
l <- list() 
for(letter in unique(df$col1)){ 
    l[[letter]] <- df[df$col1==letter,]$col2 
} 

> l 
$a 
[1] 1 2 
$b 
[1] 3 4 

但是有什麼更好的方法可以做到這一點?

回答

2

我們可以使用split到返回的namedlistvector小號

split(df$col2, df$col1) 
相關問題