我希望创建一个数组。每个元素都将被指定为一个列表,每个列表的长度不同(在执行脚本之前未知)。一个简单的例子是让[1]为列表q,[2]为列表。是否有一个我可以使用的构造,可能与数组不同,允许这样的分配。
q <- c(1,2,3,4,5)
w <- c(6,7,8)
a <- array(2)
a[1] <- q
警告讯息:
In a[1] <- q : number of items to replace is not a multiple of replacement length
答案 0 :(得分:1)
由于您需要一系列列表,请尝试:
a[1] <- list(q)
答案 1 :(得分:1)
正如评论中指出的那样,您可能正在寻找list
而不是array
(后者更类似于多维矩阵或数学向量。)< / em>的
然而,除了索引之外还有问题:
在R
a[1] <- q
与a[[1]] <- q
尝试以下方法来发现差异:
a <- list()
a[[1]] <- q
a[[2]] <- w
a
与
比较a <- list()
a[1] <- q
a[2] <- w
a
答案 2 :(得分:0)
我认为你想要的是一个向量列表。
q <- c(1,2,3,4,5)
w <- c(6,7,8)
a <- list()
a[[1]] <- q
答案 3 :(得分:0)
列表有效 - 谢谢!它允许我根据一些分离截止值将一组位置划分为一个列表列表。
delta < - 200
pcls&lt; - list(nrow = pctot)
v&lt; - posvec [1]
pcind&lt; - 0
jtest&lt; - 0
for(j in 2:nr){
dist <- posvec[j]-posvec[j-1]
if (dist <= delta) {
v <- c(v,posvec[j])
jtest <- 1
}
if (dist > delta) {
if (jtest > 0) {
pcind <- pcind + 1
pcls[[pcind]] <- v
v <- posvec[j]
}
jtest <- 0
}
}