【发布时间】:2021-11-19 20:16:59
【问题描述】:
由于某种原因,我的 ifelse 语句返回 NA,就好像它们是假的而不是 NA。知道为什么会发生吗?
相关列的数字从 1 到 10。
library(dplyr)
data <- read.csv('210901_CLEANN_Risks_Research.csv')
data <- data %>% mutate_if(is.character, as.factor)
data[data==""]<-NaN
data[data=="Refused to answer"]<-NaN
table(data$safety)
unique(data$safety)
a <- c(1,2,3,4,5)
data$safety <- ifelse(data$safety %in% a , "Yes", "No")
unique(data$safety)
table(data$safety)
输出如下:
data <- read.csv('210901_CLEANN_Risks_Research.csv')
data <- data %>% mutate_if(is.character, as.factor)
data[data==""]<-NA
data[data=="Refused to answer"]<-NA
table(data$safety)
> 1 2 3 4 5 6 7 8 9 10
> 2936 1112 836 548 479 261 165 91 51 12
unique(data$safety)
> [1] 1 2 3 7 5 6 4 8 9 10 NA
a <- c(1,2,3,4,5)
data$safety <- ifelse(data$safety %in% a , "Yes", "No")
unique(data$safety)
> [1] "Yes" "No"
table(data$safety)
> No Yes
> 583 5911
任何线索为什么会发生这种情况?
【问题讨论】:
标签: r dataframe if-statement na