2015-05-17 21 views
5

aşağıdaki şekilde listelerin bir listesini oluşturmak ve listelemek için yeni bir unsur ekleyin: Ben ikinci listeye yeni bir çift eklemek istediğiniz, Sonra(R) listelerde

key<-112233 
list1 <- list(a = 2, b = 3) 
list2 <- list(c = "a", d = "b") 
mylist <- list(list1, list2) 

ama istiyorum Daha önce tanımlanmış olan key'un değeri olmak için anahtar. Ben

mylist[[2]]$key<-6 

yaptığınızda Doğrusu ben [] veya [[]] ama işe yaramış görünmüyor kullanılarak get veya birçok olası diğer kombinasyonları kullanarak denedi

$c 
[1] "a" 

$d 
[1] "b" 

$112233 
[1] 6 

daha

$c 
[1] "a" 

$d 
[1] "b" 

$key 
[1] 6 

olsun. Lütfen tavsiye. @ User20650 gelen açıklama gereği

cevap

6
key<-"112233" 
list1 <- list(a = 2, b = 3) 
list2 <- list(c = "a", d = "b") 
mylist <- list(list1, list2) 
mylist[[2]][key]<-6 

[[1]] 
[[1]]$a 
[1] 2 

[[1]]$b 
[1] 3 


[[2]] 
[[2]]$c 
[1] "a" 

[[2]]$d 
[1] "b" 

[[2]]$`112233` 
[1] 6 

Güncelleme: yerine başında dizeye değişken anahtar dönüştürme, ayrıca yapabilirsiniz:

mylist[[2]][as.character(key)] <- 6 
+3

bir dakikadan az beni yendi! Evet, bu 'anahtar' bir karakter olduğu sürece iyi çalışır. Eğer 'key' sayısal ise, listedeki tüm ara elemanlar da oluşturulur (NULL değerleri ile). – mikeck