在R中应用rowMeans()后,数据框的尺寸丢失

时间:2019-07-02 09:07:20

标签: r dataframe

我对一个数据帧进行了子集处理,并在其上应用了rowMeans(),但是结果变量('y')的尺寸丢失了,因此我无法在其他代码中使用'y'。

dim(mtcars)
# [1] 32 11
y = rowMeans((mtcars[,3:6]))
dim(y)
# NULL

为什么“ y”不再是数据框?我该怎么做才能恢复其尺寸? 我尝试了以下操作,但没有用。

as.data.frame(y)
# or
data.frame(y)

1 个答案:

答案 0 :(得分:0)

当您应用rowMeans()时,您是在vector中创建一个dataframe。因此,您将从 n 行和 k 列转到 nx1 向量。
对于n=8k=5的情况,我们将:

> a=as.data.frame(matrix(1:40,8,5))
> a
  V1 V2 V3 V4 V5
1  1  9 17 25 33
2  2 10 18 26 34
3  3 11 19 27 35
4  4 12 20 28 36
5  5 13 21 29 37
6  6 14 22 30 38
7  7 15 23 31 39
8  8 16 24 32 40
> rowMeans(a)
[1] 17 18 19 20 21 22 23 24