如果我有:
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功能,但我不知道以哪种方式使用。
这对你有用吗?
mylist[c(1, 2, 5)] <- lapply(mylist[c(1, 2, 5)], function(x) x <- mymatrix)
Run Code Online (Sandbox Code Playgroud)