在R中重复向量化矩阵的最佳方法?

在R中重复向量化矩阵的最佳方法?,r,transformation,R,Transformation,因此,我的数据基本上被组织为58个10x3矩阵,这些矩阵相互叠加,结果数据为580x3。大概是这样的: dat <- matrix(rnorm(1740), nrow = 580, ncol = 3) datdat2请注意,使用dat[1:10]将仅对dat的第一列进行矢量化,而不是按您的要求对所有列进行矢量化。是否需要在每个切片上对所有列进行矢量化?@Chriss,不是这样。dat[ix]将整个矩阵视为一个向量,并取该向量的ix元素。@G.Grothendieck是的,完全同意。我的观

因此,我的数据基本上被组织为58个10x3矩阵,这些矩阵相互叠加,结果数据为580x3。大概是这样的:

dat <- matrix(rnorm(1740), nrow = 580, ncol = 3)

dat
dat2请注意,使用
dat[1:10]
将仅对
dat
的第一列进行矢量化,而不是按您的要求对所有列进行矢量化。是否需要在每个切片上对所有列进行矢量化?@Chriss,不是这样。dat[ix]将整个矩阵视为一个向量,并取该向量的ix元素。@G.Grothendieck是的,完全同意。我的观点是@Jeremy要求将“10x3矩阵转换为一行”,因此,在本例中,他希望为58个矩阵中的每一个获得长度为30的向量。拥有dat[1:10]只会给他一行长度为10的数据,元素来自
dat
前10行的第一列。我猜他的意思是第1行
row1 <- as.vector(t(dat[1:10])
row2 <- as.vector(t(dat[11:20])
dat2 <- matrix(t(dat), ncol = 30, byrow = TRUE)

all.equal(dat2[1, ], as.vector(t(dat[1:10, ]))) # TRUE
all.equal(dat2[2, ], as.vector(t(dat[11:20, ]))) # TRUE