Ниже приведены мои R-коды. Я могу когда-либо выводить bbb[[1]][[i]], но почему я не могу запустить код вроде bbb[[2]][[1]]<-matrix(rep(1.5,10*15),10,15) ???
bbb[[1]][[i]]
bbb[[2]][[1]]<-matrix(rep(1.5,10*15),10,15)
bbb<-list(list()) for(i in 1:10) { bbb[[1]][[i]]<-matrix(rep(i,10*15),10,15) }
Когда вы делаете bbb <- list(list()), это эквивалентно bbb <- list(); bbb[[1]] <- list(). Это делает bbb a list и делает первый элемент из bbb подсписком. bbb имеет длину 1. Вы можете назначить что-то для bbb[[2]], но оно помещает туда новую вещь. Когда вы делаете bbb[[2]][[1]] <- ..., вы пытаетесь использовать bbb[[2]], как будто это уже список, но только bbb[[1]] уже является списком. Сначала используйте bbb[[2]] <- list(), а затем вы сможете использовать bbb[[2]][[1]] <- ...
bbb <- list(list())
bbb <- list(); bbb[[1]] <- list()
bbb
list
bbb[[2]]
bbb[[2]][[1]] <- ...
bbb[[1]]
bbb[[2]] <- list()