2016-01-17 83 views
0

我需要格式化一個列表,以便列表項目在我閃亮的應用程序上顯示爲單選按鈕。以下是我的列表目前如何格式化的示例:用R創建一個動態列表來使用它閃亮

mylist = list("Choice 1"=1, "Choice 2"=2, "Choice 3"=3) 

該列表應該是動態生成的。該列表將被查詢以確定正確的名稱以取代「選擇1」,「選擇2」和「選擇3」。

我試圖使用list<-append但它不解釋變量名稱。例如:

var = "SimpleTest" 
mylist=list() 
mylist<-append(mylist,list(var=1)) 

電流輸出:

# $var 
# [1] 1 

我所需的輸出是:

$SimpleTest 
[1] 1 
+2

嘗試'MYLIST <-append(MYLIST,setNames(列表(1),VAR))' – nicola

+0

喔非常感謝你,它已經3個小時了,我在這個問題上! – KingOfBabu

+2

很高興幫助。另一個選項:'mylist [[var]] < - 1'。 – nicola

回答

0

我編輯您的文章,以澄清問題,提高可讀性。

如果我理解正確,你正在嘗試更新的列表元素,其值的名稱(唯一名稱)是1

mylist = list("Choice 1"=1, "Choice 2"=2, "Choice 3"=3) 
var = "SimpleTest" 
mylist 
# $`Choice 1` 
# [1] 1 
# $`Choice 2` 
# [1] 2 
# $`Choice 3` 
# [1] 3 

如果是的話,下面的代碼將做到這一點。分配其具有值1該列表元素的名稱中,字符串保存在變量VAR

names(mylist)[which(mylist==1)]=var 
mylist 
# $SimpleTest 
# [1] 1 
# $`Choice 2` 
# [1] 2 
# $`Choice 3` 
# [1] 3