我目前有:
MetroStation
我想得到一个带有结果的行向量: 1 * 48
我试过用:
arr<-array(1:3, c(2,4,6))
dim(arr)
#[1] 2 4 6
mg <-data.frame(arr)
dim(mg)
#[1] 2 24
dim(mg2)
#[1] 2 24
dim(mg2)
#[1] 2 24
但结果不会乘以2 * 24。
如何获得结果?
答案 0 :(得分:1)
将数组转换为矢量,您可以使用以下任何一个:
> c(arr)
> as.vector(arr)
> as.matrix(arr)
> t(as.matrix(arr))
前两个代码产生一个列向量,而后两个代码产生一个昏暗的48 * 1,1 * 48的矩阵。
如果您首先将其设为数据框,请记住数组的尺寸: 2行。因此,您的数据框必须有两行。这就是它给你2 * 24的原因。但是仍然从这里你可以使它成为一个矢量。
代码as.vector(t(mg))
将给出一个向量,但值将在一行而不是一列中读取。因此,对于上面的示例,结果将是1 3 2 1 3 2...
而不是1 2 3 1 2 3 ...
。你可以通过对mg进行双重转置来解决这个问题。即as.vector(t(t(mg)))
或c(as.matrix(mg))
。