相关疑难解决方法(0)

如何将矩阵子集化为一列,维护矩阵数据类型,维护行/列名称?

当我将矩阵子集化为单个列时,结果是类数字,而不是矩阵(即myMatrix [,5]到第五列的子集).是否有一种紧凑的方法可以将单个列子集化,维护矩阵格式,并维护行/列名称,而无需执行以下操作:

matrix( myMatrix[ , 5 ] , dimnames = list( rownames( myMatrix ) , colnames( myMatrix )[ 5 ] )
Run Code Online (Sandbox Code Playgroud)

r matrix subset r-faq

71
推荐指数
1
解决办法
3万
查看次数

过滤矩阵列时保留列名称

我有一个矩阵,就像用这段代码生成的矩阵:

> m = matrix(data=c(1:50), nrow= 10, ncol = 5);
> colnames(m) = letters[1:5];
Run Code Online (Sandbox Code Playgroud)

如果我过滤列,并且结果有多个列,则新矩阵会保留名称.例如:

> m[, colnames(m) != "a"];

       b  c  d  e
 [1,] 11 21 31 41
 [2,] 12 22 32 42
 [3,] 13 23 33 43
 [4,] 14 24 34 44
 [5,] 15 25 35 45
 [6,] 16 26 36 46
 [7,] 17 27 37 47
 [8,] 18 28 38 48
 [9,] 19 29 39 49
[10,] 20 30 40 50
Run Code Online (Sandbox Code Playgroud)

请注意,这里的类仍然是矩阵:

> class(m[, colnames(m) != "a"]); …
Run Code Online (Sandbox Code Playgroud)

r matrix

8
推荐指数
1
解决办法
5210
查看次数

在R中,如果数据帧只有一列,为什么从数据帧中选择行会将数据作为向量返回?

假设我们想要逐行访问数据.示例是简化的,但是当按行名称排序数据框时,例如,(df[order(row.names(df)])我们使用相同的技术.

如果数据框有一列,我们得到一个原子向量:

> df
    x1
a   x
b   y
c   z

> df[1, ] # returns atomic vector
[1] x 
Run Code Online (Sandbox Code Playgroud)

如果数据框有两列,我们会返回包含行名的1行数据帧:

> df
    x1 x2
a   x  u
b   y  v
c   z  w 

> df[1, ] # returns data frame
   X1 X2
a  x  u 
Run Code Online (Sandbox Code Playgroud)

我不明白为什么数据帧上的相同操作会产生两种类型的结果,具体取决于帧的列数.

r dataframe

5
推荐指数
1
解决办法
1117
查看次数

1 xm矩阵的尺寸?

R几乎每天都一次又一次地让我感到惊讶:

m <- matrix( 1:6, ncol=2 )
while( dim(m)[1] > 0 ){
  print(m);
  m <- m[-1,]
}
Run Code Online (Sandbox Code Playgroud)

得到:

     [,1] [,2]
[1,]    1    4
[2,]    2    5
[3,]    3    6
     [,1] [,2]
[1,]    2    5
[2,]    3    6
Error in while (dim(m)[1] > 0) { : argument is of length zero
Run Code Online (Sandbox Code Playgroud)

R有1xn矩阵的问题或我的错误在哪里?

> nrow( m[-c(2,3), ] )
NULL
> dim( m[-c(2,3), ] )
NULL
> m[-c(2,3), ][,1]
Error in m[-c(2, 3), ][, 1] : incorrect number of dimensions
> str( m[-c(2,3), …
Run Code Online (Sandbox Code Playgroud)

r

3
推荐指数
1
解决办法
1683
查看次数

标签 统计

r ×4

matrix ×2

dataframe ×1

r-faq ×1

subset ×1