r - 将多个值定义为数据框中缺失

标签 r dataframe multiple-columns missing-data

如何在 R 的数据框中将多个值定义为缺失值?

考虑一个数据框,其中两个值“888”和“999”代表缺失数据:

df <- data.frame(age=c(50,30,27,888),insomnia=c("yes","no","no",999))
df[df==888] <- NA
df[df==999] <- NA

此解决方案对表示缺失数据的每个值使用一行代码。对于表示缺失数据的值数量很多的情况,您是否有更简单的解决方案?

最佳答案

这里有三种解决方案:

# 1. Data set
df <- data.frame(
  age = c(50, 30, 27, 888),
  insomnia = c("yes", "no", "no", 999))

# 2. Solution based on "one line of code per missing data value"
df[df == 888] <- NA
df[df == 999] <- NA
is.na(df)

# 3. Solution based on "applying function to each column of data set"
df[sapply(df, function(x) as.character(x) %in% c("888", "999") )] <- NA
is.na(df)

# 4. Solution based on "dplyr"

# 4.1. Load package
library(dplyr)

# 4.2. Define function for missing values
is_na <- function(x){
 return(as.character(x) %in% c("888", "999")) 
}

# 4.3. Apply function to each column
df %>% lapply(is_na)

关于r - 将多个值定义为数据框中缺失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47496228/

相关文章:

r - 将 ggsave() 纵横比设置为 RStudio 的 "Zoom"按钮给出的比例?

python - 如何使用 Pandas 按照定义的规则填充某些单元格?

python - Pandas 根据 bool 值创建新列

mysql - 我需要在同一个表中的每个日期查询多个列

R tmap动态修改图例以防止图例值重叠

r - 逻辑数据框与数值数据框并用 R 替换 NA 中的 FALSE

r - 如何以正确的方式创建 PIL 逊相关矩阵

Python 将 HTML 箭头显示到数据框

python - 根据 Pandas 列表中的出现次数添加一个带有计数的新列

dataframe - 如何从 julia 数据框中获取对行号的引用?