如何在R语言中删除变量内的指定取值
R删除指定取值记录的实现方案
可以通过R编程语言删除指定取值的记录,以下是你原有代码的错误原因和正确实现方式:
原有代码错误原因
你编写的project$Survive = "U"<-NULL存在语法和逻辑双重错误:R会优先解析末尾的"U"<-NULL,这本身是非法赋值操作,且删除符合特定取值的观测不能通过直接给取值赋值NULL实现,需要通过行筛选的方式保留符合要求的记录。
正确实现方法
方法1:基础R索引筛选(无需安装额外包)
直接通过行逻辑判断保留Survive取值不为"U"的所有行,代码如下:
project <- project[project$Survive != "U", ]
如果需要保留Survive为缺失值(NA)的记录,可调整条件为:
project <- project[project$Survive != "U" | is.na(project$Survive), ]
方法2:基础R subset函数(语法更友好,适合新手)
subset函数无需重复写数据框名调用列,可读性更高:
project <- subset(project, Survive != "U")
方法3:dplyr包filter函数(tidyverse生态常用写法)
如果你习惯使用tidyverse系列工具,可以用filter函数实现筛选:
# 未安装dplyr可先运行 install.packages("dplyr") library(dplyr) project <- project %>% filter(Survive != "U")
内容的提问来源于stack exchange,提问作者Ariel Mitchell
相关产品推荐
相关产品推荐

