![](/img/trans.png)
[英]How to delete rows in a column dataframe based on the column in another dataframe in R?
[英]Delete rows from dataframe based on column value in R
Sample_ID<-c("a1","a2","a3","a4","a5","a6")
Heart_attack<-c("1", "0", "1", "1", "0", "2")
DF<-data.frame(Sample_ID,Heart_attack)
我想从我的数据框中排除所有在 Heart_attack 中具有“0”的样本。如何做到这一点?
如果你做str(DF)
你会看到Heart_attack
是类型因子。 因此,您需要删除0
级别:
df2 <- droplevels(DF[-which(DF$Heart_attack == "0"), ])
df2
Sample_ID Heart_attack
1 a1 1
3 a3 1
4 a4 1
6 a6 2
要检查0
级别是否真的消失了,可以使用table
:
table(df2$Heart_attack)
1 2
3 1
这是一个dplyr
解决方案:
DF <- DF %>%
filter(Heart_attack != 0) %>%
droplevels()
带有来自base R
subset
的选项
df2 <- droplevels(subset(DF, as.logical(as.integer(Heart_attack))))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.