有没有办法在计算数据框中的异常值时排除 NA 但在最终输出中仍包含带有 NA 的行?
Is there a way to exclude NA while calculating outliers in a data frame but still include rows with NA in the final output?
例如,我正在删除大于 3SD 的离群值,但我的数据集中有 NA。我想计算 SD,删除那些异常值 忽略 那些在计算中有 NAs 的,但在最终输出中保留那些有 NAs 的。似乎使用 na.rm 函数会在生成的最终数据框中删除 NA,所以我想知道是否还有其他方法可以解决这个问题?
我目前的密码是:
df_final = df %>%
filter(height < mean(height, na.rm = T) + (3*sd(df$height, na.rm=T)))
谢谢!
我们可以有一个 |
条件 is.na
不删除 NA
行
library(dplyr)
df %>%
filter((height < (mean(height, na.rm = TRUE) +
3* sd(height, na.rm=TRUE)))|is.na(height))
例如,我正在删除大于 3SD 的离群值,但我的数据集中有 NA。我想计算 SD,删除那些异常值 忽略 那些在计算中有 NAs 的,但在最终输出中保留那些有 NAs 的。似乎使用 na.rm 函数会在生成的最终数据框中删除 NA,所以我想知道是否还有其他方法可以解决这个问题?
我目前的密码是:
df_final = df %>%
filter(height < mean(height, na.rm = T) + (3*sd(df$height, na.rm=T)))
谢谢!
我们可以有一个 |
条件 is.na
不删除 NA
行
library(dplyr)
df %>%
filter((height < (mean(height, na.rm = TRUE) +
3* sd(height, na.rm=TRUE)))|is.na(height))