向列表中的所有元素添加值(R)
我有这样一份清单:向列表中的所有元素添加值(R),r,list,addition,R,List,Addition,我有这样一份清单: a = list('bla'=c(0,1,2,3)) 我想给每个元素加1,这样 > a['bla'] $bla [1] 1 2 3 4 当然 > a['bla']+1 不起作用 帮助?您需要双括号: a[['bla']]+1 比较: R> a["bla"] $bla [1] 0 1 2 3 与 R> a[["bla"]] [1] 0 1 2 3 正如Dason指出的,需要双括号的原因是,在对列表进行操作时,单括号返回一个包含您请求的元素的列
a = list('bla'=c(0,1,2,3))
我想给每个元素加1,这样
> a['bla']
$bla
[1] 1 2 3 4
当然
> a['bla']+1
不起作用
帮助?您需要双括号:
a[['bla']]+1
比较:
R> a["bla"]
$bla
[1] 0 1 2 3
与
R> a[["bla"]]
[1] 0 1 2 3
正如Dason指出的,需要双括号的原因是,在对列表进行操作时,单括号返回一个包含您请求的元素的列表,而双括号返回元素本身。您不能直接在列表上使用算术运算符,因此,当您使用单括号时,您会得到一个列表,而它不知道如何向列表中“添加1”
访问列表元素的其他方式有:
- 索引:
a[[1]]
- 双倍:
a$bla
R> a$bla+1
[1] 1 2 3 4
请注意,需要双括号的原因是,在对列表进行操作时,单括号返回一个包含您请求的元素的列表,而双括号返回元素本身。您不能直接在列表上使用算术运算符,因此,当您使用单括号时,您会得到一个列表,而它不知道如何向列表中“添加1”。