按不同行的行名称对数据框进行子集化

Mor*_*ori 4 r subset

我需要根据名称对数据框的行进行子集化。我已经尝试了以下代码,但它不起作用。

Name  plot  
12     25
22     23 
14     12 
16     22
23     54

DF.new <- subset(DF, rownames== c("12" , "16"))
Run Code Online (Sandbox Code Playgroud)

joe*_*nNC 9

使用dplyr

library(dplyr)
DF <- data.frame(row.names=c("12a", "22a", "13a"), Name=c("12","22","13"), plot=c(25,18,9))
Run Code Online (Sandbox Code Playgroud)

如果要按数据框列“名称”过滤,则:

DF.new -> DF %>% filter(Name %in% c("12", "16"))
Run Code Online (Sandbox Code Playgroud)

如果row.names要按 df的实际值进行过滤,则:

DF.new -> DF %>% filter(row.names(DF) %in% c("12a","13a"))
Run Code Online (Sandbox Code Playgroud)

或者,使用基础 R:

DF.new -> DF[DF$Name %in% c("12","13"), ] 或者

DF.new -> DF[row.names(DF) %in% c("12a","13a"),]