有没有一种方法可以选择列表中存储的多个向量的多个元素?我希望为每个向量选择的每个元素的位置都相同。考虑列表的以下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