r - 通过row.names子集矩阵

标签 r data-manipulation

我有一个具有以下row.names的矩阵:

"X1"   "X5"   "X33"  "X37"  "X52"  "X566"


现在,我只想选择与列表条目匹配的行,例如:

include_list <- c("X1", "X5", "X33")


我想我会做这样的事情:

data.subset <- subset(data, row.names == include_list)


但是,此特定代码似乎无法完成任务。如何以这种方式执行子设置?

最佳答案

设置一些虚假数据:

m <- matrix(1:30, 6, 5)
rownames(m) <- c("X1", "X5", "X33", "X37", "X52", "X566")
m
#      [,1] [,2] [,3] [,4] [,5]
# X1      1    7   13   19   25
# X5      2    8   14   20   26
# X33     3    9   15   21   27
# X37     4   10   16   22   28
# X52     5   11   17   23   29
# X566    6   12   18   24   30


在这里,使用矩阵索引([)子集可能是最简单的:

include_list <- c("X1", "X5", "X33")
m[include_list, ]
#     [,1] [,2] [,3] [,4] [,5]
# X1     1    7   13   19   25
# X5     2    8   14   20   26
# X33    3    9   15   21   27


subset()函数的替代方法:

subset(m, rownames(m) %in% include_list)
#      [,1] [,2] [,3] [,4] [,5]
# X1     1    7   13   19   25
# X5     2    8   14   20   26
# X33    3    9   15   21   27

关于r - 通过row.names子集矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22670541/

相关文章:

r - 如何创建POSIXct矩阵

在R中读取ascii文件

r - 单击 rmarkdown::beamer_presentation 时突出显示 kable 表的表条目

mysql - 复杂的MySQL数据结构/操作问题

sql - 唯一 ID 的连续行中的值之间的差异

r - 将条件语句添加到 R 中的 'apply' 函数中

r - 当 y 轴不是 r 中的数字时,如何将文本分配给 ggplot

r - 使用 dplyr 在 R 中进行总结 : values in 2 different columns

r - 根据两列R分配ID

R按符合条件的行提取第一个单元格