2
我做的:如何將列表列的名稱分配爲字符串?
assign('test', 'bye')
test
[1] "bye"
現在,我有內部'測試' 變量的矢量。
我想裏面使用「測試」變量中的字符串作爲後續列表的列名:
list(test=c(1:10))
$test
[1] 1 2 3 4 5 6 7 8 9 10
但我想用「再見」的名稱(因爲「再見'寫在測試變量裏面) 我該怎麼做?
我做的:如何將列表列的名稱分配爲字符串?
assign('test', 'bye')
test
[1] "bye"
現在,我有內部'測試' 變量的矢量。
我想裏面使用「測試」變量中的字符串作爲後續列表的列名:
list(test=c(1:10))
$test
[1] 1 2 3 4 5 6 7 8 9 10
但我想用「再見」的名稱(因爲「再見'寫在測試變量裏面) 我該怎麼做?
我不認爲eval
或assign
在這裏是必要的;他們的使用通常(雖然不總是)表明你正在做一些艱難的事情,或至少是非R的方式。
> test <- "bye"
> L <- list(1:10) ## c() unnecessary here too
> names(L) <- test
> L
$bye
[1] 1 2 3 4 5 6 7 8 9 10
如果你真的想這樣做在一個聲明中,你可以這樣做:
L <- setNames(list(1:10), test)
或
L <- structure(list(1:10), .Names=test)
我想這會是你要尋找的答案?
assign('test','bye')
z<-list(c(1:10))
names(z)<-test
對於那些還不知道的人來說,本的第一句話是對「財富(106)」的引用。 '幸運(181)'也是相關的。 :) – 2012-03-14 14:46:03