小编alt*_*_SU的帖子

如何从列表中的多个向量中选择多个元素

有没有一种方法可以选择列表中存储的多个向量的多个元素?我希望为每个向量选择的每个元素的位置都相同。考虑列表的以下MWE,其长度为3。列表中的每个向量的长度也相等。

# create list and vectors within storing random data
mylist<- list(rnorm(5), rgeom(5, 0.05), rbinom(5, 10, 0.5))
Run Code Online (Sandbox Code Playgroud)

如果要选择第一个向量的第1个和第3个元素,我将mylist[[1]][c(1,3)]返回位置1和3的元素值。类似地,对于第二个向量,我将写mylist[[2]][c(1,3)]

但是,如何编写一些简洁的代码,以便可以在列表中同时选择第一向量和第二向量的第一和第三元素?我已经尝试过了,mylist[c(1, 2)][c(1, 3)]但是这将返回第一个向量的所有元素和NULL第二个向量的所有元素。

编辑

选定元素后,如何覆盖它们,例如(例如) mylist[c(1, 2)][c(1,3)] <- 0

indexing r list subset

5
推荐指数
1
解决办法
44
查看次数

标签 统计

indexing ×1

list ×1

r ×1

subset ×1