2016-12-19 78 views
0

值分配給一個列表或矢量對象矢量裏面我有一個像如何R中

mylist = list('a','b','c','d') 

列表,並在其內部我想打電話MYLIST對象分配一個值的另一種載體。

myvec = c('p'=0,'q'=1, mylist[1]=1) 

但在執行它給了錯誤的位置這樣的分配是可能的,直線前進之前

Error: Unexpected '=' in "c('p'=0,'q'=1, mylist[1]=" 

我用蟒蛇。但是,R在R中不起作用。任何想法?

回答

2

您可以使用setNames(),還要注意MYLIST [1]給出一個元素的列表,以便在一個位置,以獲得元素,你需要使用[(這似乎並不重要在這種情況下,即兩種工作):

c('p' = 0,'q' = 1, setNames(1, mylist[[1]])) 

#p q a 
#0 1 1 
+0

謝謝。有效。你能給出一些解釋,說明爲什麼它在R中非常直接,而在Python中非常直接? – Ashutosh

+1

@Ashutosh我認爲你可以在python中只使用字典而不是使用list,在這種情況下,這可能是因爲它有一個特殊的':'而不是'='表達式,在這種情況下會帶來額外的複雜性。 – Psidom