如何将矩阵子集划分为一列,维护矩阵数据类型,维护行/列名称? [英] How to subset matrix to one column, maintain matrix data type, maintain row/column names?

查看:91
本文介绍了如何将矩阵子集划分为一列,维护矩阵数据类型,维护行/列名称?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

When I subset a matrix to a single column, the result is of class numeric, not matrix (i.e. myMatrix[ , 5 ] to subset to the fifth column). Is there a compact way to subset to a single column, maintain the matrix format, and maintain the row/column names without doing something complicated like:

matrix( myMatrix[ , 5 ] , dimnames = list( rownames( myMatrix ) , colnames( myMatrix )[ 5 ] )

推荐答案

[使用drop=FALSE自变量.

m <- matrix(1:10,5,2)
rownames(m) <- 1:5
colnames(m) <- 1:2
m[,1]             # vector
m[,1,drop=FALSE]  # matrix

这篇关于如何将矩阵子集划分为一列,维护矩阵数据类型,维护行/列名称?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆