Arrays 如何在R中为向量中的列表或向量对象赋值

Arrays 如何在R中为向量中的列表或向量对象赋值,arrays,r,vector,Arrays,R,Vector,我有一张这样的清单 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]=" 我以前使用过python,在这种情况下可以直接进行赋值。但是同样的方法在R中不起作用。有什么想法吗?您可以使用setNames(),还要注意mylist[1]给

我有一张这样的清单

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]="
我以前使用过python,在这种情况下可以直接进行赋值。但是同样的方法在R中不起作用。有什么想法吗?

您可以使用
setNames()
,还要注意mylist[1]给出了一个单元素列表,为了获得位置1处的元素,您需要使用[[(在这种情况下,这似乎并不重要,也就是说,两种方法都有效):

您可以使用
setNames()
,还请注意,mylist[1]提供了一个单元素列表,为了获得位置1处的元素,您需要使用[[(在本例中,这似乎无关紧要,即两者都起作用):


谢谢。它成功了。你能解释一下为什么它在R中如此间接,而在Python中却非常直接吗?@Ashutosh我认为你在Python中只能使用dictionary而不能使用list,在这种情况下,可能是因为它有一个特殊的
表达式,而不是
=
表达式,这会增加这方面的复杂性case.谢谢。它很有效。你能解释一下为什么它在R中如此间接,而在Python中却非常直接吗?@Ashutosh我认为你在Python中只能使用dictionary而不能使用list,在这种情况下,可能是因为它有一个特殊的
表达式,而不是
=
表达式,这会给我带来额外的复杂性在这种情况下。
c('p' = 0,'q' = 1, setNames(1, mylist[[1]]))

#p q a 
#0 1 1