替换 R 中列表中的多个值

lgn*_*zzz 5 r list matrix

如果我有:

mylist <- lapply(1:10, function(x) matrix(NA, nrow=2, ncol=2))
Run Code Online (Sandbox Code Playgroud)

例如,我想将列表中的第一个、第二个和第五个元素替换为:

mymatrix=cbind(c(1,1),c(1,1))
Run Code Online (Sandbox Code Playgroud)

我能做什么?我试过:

mylist[c(1,2,5)]=mymatrix
Run Code Online (Sandbox Code Playgroud)

但是我不能替换新矩阵,因为它是另一个列表,并且[[]]我只能访问一个元素。

我想我必须使用该lapply功能,但我不知道以哪种方式使用。

jay*_*.sf 5

这对你有用吗?

mylist[c(1, 2, 5)] <- lapply(mylist[c(1, 2, 5)], function(x) x <- mymatrix)
Run Code Online (Sandbox Code Playgroud)