R和矩阵有1行

Arg*_*Arg 3 r

是否可以在R中只有一行矩阵?

这是我的代码:

   nas <- which(!is.na(y))   
   x <- x[nas,]
   y <- y[nas]

   ...
   data.frame(y,x)
Run Code Online (Sandbox Code Playgroud)

我的想法是我有一个向量y和矩阵x.Y可以包含一些NA值,我想要找到它们并从矢量和矩阵中删除这些值的索引.

后来我想用x框架y.但问题是,当y中只有一个非NA的值时.这意味着我必须从y中删除除1个元素以外的所有元素,而从x除了1行,这个矩阵只有1行,似乎转换为数字,这似乎打破了data.frame操作.我希望它返回包含1行的框架:y x1 x2 ..,而不是我得到:

   y    x
1  0 12.0
2  0 14.8
3  0 14.2
4  0 14.8
5  0  2.0
6  0  4.0
7  0  1.0
8  0  2.0
9  0 26.0
10 0  4.0
11 0  6.0
12 0  2.0
13 0 16.0
Run Code Online (Sandbox Code Playgroud)

mne*_*nel 14

您需要指定drop = FALSE停止R将矩阵或数组强制转换为尽可能低的维数.有关?`[`详细信息,请参阅

x <- matrix(1:4,ncol=2)
x[1,]
## [1] 1 2
x[1,,drop=F]
##      [,1] [,2]
## [1,]    1    3
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,就是这个问题!程序员如何在没有 stackoverflow 的情况下生活:) (2认同)