2015-05-11 70 views
2

我有兩個向量「data1」和「data2」。我想創建這兩個向量的列表。 但是當我創建這兩個向量的列表時,我希望列表中變量的名稱爲「$ data1」和「$ data2」,而不是[[1]]和[[2]]。下面是更好地理解代碼:R-如何在創建列表時爲列表中的變量命名?

data1 <- c(3,4,5,6,7) 
data2 <- c(8,9,10,11) 
datalist <- list(data1,data2) 

輸出是:

datalist 
# [[1]] 
# [1] 3 4 5 6 7 

# [[2]] 
# [1] 8 9 10 11 

相反,我想這是輸出而無需實際設置的名稱自己。有什麼方法可以自動設置列表中變量的名稱。

datalist 
# $data1 
# [1] 3 4 5 6 7 

# $data2 
# [1] 8 9 10 11 
+0

我不想自己設置名稱。無論如何,在創建列表的過程中,list()函數的參數名稱將成爲變量的名稱。 –

+0

你想讓這些名稱成爲這些特定的值嗎?還是希望它們來自任何原始源數據值? – John

+0

是的,我希望它來自任何原始源數據值。 –

回答

5

您可以嘗試

datalist <- mget(paste0('data',1:2)) 
1

嘗試

names(datalist) <- c("data1", "data2") 

或者使其更具活力的

names(datalist) <- paste0('data',1:2) 
+0

根據OP的評論'我不想自己設置名字。' – akrun

0

您還可以使用setNames

datalist <- setNames(list(data1, data2), c("data1", "data2")) 
+0

我最初的想法是'setNames',但基於OP的評論,我猜'setNames'不是一個選項 – akrun