2017-07-03 64 views
3

如果我有示例列表Names名稱從字符串包含在列表

Names <- list(A = c("one", "two", "three"), 
       B = c("three", "four", "five")) 

是否有那麼可以創建使用包含在列表中的字符串中的一個列標題一個DF列?例如,下面的代碼試圖通過索引Names[[1]][1]創建名爲One的列,但顯然不起作用。

data.frame(Names[[1]][1] = rep(5, 5)) 

任何意見,將不勝感激。我試圖用as.character()包裝,但我仍在尋找解決方案。真正的數據正在一個循環內實現,並且需要在Names索引中。下面顯示了期望的結果。

data.frame(One = rep(5, 5)) 
+1

也許與此。 'setNames(data.frame(rep(5,5)),Names [[1]] [1])'? –

+0

似乎工作良好,可擴展爲多個新列。不錯。作爲回答發佈......? –

+0

起初,我認爲這是重複的,但找不到合適的問題,因此回答。 –

回答

1

我們可以使用setnames從變量分配列名的數據幀:

setNames(data.frame(rep(5, 5)), Names[[1]][1]) 

# one 
#1 5 
#2 5 
#3 5 
#4 5 
#5 5 

這絕對可以被用於多個列的爲好。

相關問題