去除异常值后包括 NA
Include NA after removing outliers
我想在移除异常值后将 NA 包含在我的数据集中。例如,在下面的数据框中,我想删除大于 13 的异常值。我已按数据帧进行子集化以创建没有异常值的新数据框,但我的代码也删除了 NA。我试过使用 na.rm= FALSE 但我只收到一个错误。
id <- c(3,3,6,6,4,4,3,3)
age_cat <- c(1,1,1,1,2,2,3,3,)
measurement <- c(10, 13, 14,13, NA, 11, NA, 17)
myData <- data.frame(id, age_cat, measurement)
myData
#If I use this the outliers are removed along with NAs
myData_no_ol <- subset(myData, myData$measurement < 13)
myData_no_ol
#If I use this I get an error
#Error: unexpected ',' in "myData_no_ol <- subset((myData,"
myData_no_ol <- subset((myData, myData$measurement < 13), na.rm= FALSE)
myData_no_ol
不确定我哪里出错了。
谢谢!
P
您只需为 is.na() 添加一个子句。因为 R 将 return NA 而不是 T 或 F 当询问是 NA < 13
myData_no_ol <- subset(myData, myData$measurement < 13 | is.na(myData$measurement))
我想在移除异常值后将 NA 包含在我的数据集中。例如,在下面的数据框中,我想删除大于 13 的异常值。我已按数据帧进行子集化以创建没有异常值的新数据框,但我的代码也删除了 NA。我试过使用 na.rm= FALSE 但我只收到一个错误。
id <- c(3,3,6,6,4,4,3,3)
age_cat <- c(1,1,1,1,2,2,3,3,)
measurement <- c(10, 13, 14,13, NA, 11, NA, 17)
myData <- data.frame(id, age_cat, measurement)
myData
#If I use this the outliers are removed along with NAs
myData_no_ol <- subset(myData, myData$measurement < 13)
myData_no_ol
#If I use this I get an error
#Error: unexpected ',' in "myData_no_ol <- subset((myData,"
myData_no_ol <- subset((myData, myData$measurement < 13), na.rm= FALSE)
myData_no_ol
不确定我哪里出错了。
谢谢! P
您只需为 is.na() 添加一个子句。因为 R 将 return NA 而不是 T 或 F 当询问是 NA < 13
myData_no_ol <- subset(myData, myData$measurement < 13 | is.na(myData$measurement))