我对一个数据帧进行了子集处理,并在其上应用了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)
答案 0 :(得分:0)
当您应用rowMeans()
时,您是在vector
中创建一个dataframe
。因此,您将从 n 行和 k 列转到 nx1 向量。
对于n=8
和k=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