【发布时间】:2012-11-26 13:54:30
【问题描述】:
是否可以在 R 中创建向量矩阵?我的意思是这个矩阵的元素必须是向量。例如mat[1,3] == c(6,8,9)
我必须创建 40x40 矩阵并且我需要手动填充它。
【问题讨论】:
是否可以在 R 中创建向量矩阵?我的意思是这个矩阵的元素必须是向量。例如mat[1,3] == c(6,8,9)
我必须创建 40x40 矩阵并且我需要手动填充它。
【问题讨论】:
这不是matrix,而是array:
myarray <- array(1:24, c(2,4,3))
myarray[1,3,]
#[1] 5 13 21
【讨论】:
myarray <- array(dim=c(40,40,3)); mat[1,3,] <- c(6,8,9) 等等...
好吧,您可以向列表添加维度,使其类似于矩阵,其中的元素可以是您想要的任何元素,包括不同长度的向量。例如:
foo <- as.list(numeric(2^2))
dim(foo) <- c(2,2)
# Assignment per element:
foo[[1,1]] <- 1:4
foo[[1,2]] <- 1:10
foo[[2,1]] <- "foo"
foo[[2,2]] <- list(foo)
给你一个奇怪的对象:
> foo
[,1] [,2]
[1,] Integer,4 Integer,10
[2,] "foo" List,1
每个元素基本上都是一个向量。尽管如此,这几乎不是最好的方法。如果向量的长度相同,则 Roland 描述的数组更合适。
【讨论】: