Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按row.name子集矩阵_R_Data Manipulation - Fatal编程技术网

按row.name子集矩阵

按row.name子集矩阵,r,data-manipulation,R,Data Manipulation,我有一个具有以下行名的矩阵: "X1" "X5" "X33" "X37" "X52" "X566" 现在我只想选择与列表条目匹配的行,比如: include_list <- c("X1", "X5", "X33") include_list设置一些假数据: m <- matrix(1:30, 6, 5) rownames(m) <- c("X1", "X5", "X33", "X37", "X52", "X566") m # [,1] [,2] [,

我有一个具有以下行名的矩阵:

"X1"   "X5"   "X33"  "X37"  "X52"  "X566"
现在我只想选择与列表条目匹配的行,比如:

include_list <- c("X1", "X5", "X33")
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
使用
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

这似乎也可行:

include_list <- head(read.csv("/Users/histelheim/include_list.csv", header = FALSE))
include_list <- c(do.call("cbind", include_list)) 
data[row.names(data) %in% include_list, ]

include_list以防万一某人的include_list是classlist(而不是vector),那么这是对Rich Scriven的答案的修改,在这种情况下,该修改基于<应添加代码>取消列表()

m <- matrix(1:30, 6, 5)
rownames(m) <- c("X1", "X5", "X33", "X37", "X52", "X566")
include_list <- list("X1", "X5", "X33")


m[unlist(include_list), ]
m
include_list <- head(read.csv("/Users/histelheim/include_list.csv", header = FALSE))
include_list <- c(do.call("cbind", include_list)) 
data[row.names(data) %in% include_list, ]
m <- matrix(1:30, 6, 5)
rownames(m) <- c("X1", "X5", "X33", "X37", "X52", "X566")
include_list <- list("X1", "X5", "X33")


m[unlist(include_list), ]