在我读取RStudio中的csv之后,一些列能够检测到Null值(NA),但其他列则没有。 # Create example data frame
dat <- data.frame(
Date = c("04/12/2011", "03/01/2002", "02/07/2002", "01/02/2001", "", ""),
A = "",
B = c(NA, 1981, NA, 1981, 1950, 1989)
)
显示一些带有空格的列和&amp;不是NA。我如何解决这个问题,以便将空值表示为NA?
{{1}}
答案 0 :(得分:3)
在阅读csv本身时,您可以指定用NA替换空白单元格
df <-read.csv("data.csv", header=T, na.strings=c("","NA"))
如果空白单元格中有空格,您可以指定:
na.strings=c(""," ","NA")
答案 1 :(得分:3)
答案 2 :(得分:1)
我们可以使用lapply
和replace
将“”替换为NA
。
# Create example data frame
dat <- data.frame(
Date = c("04/12/2011", "03/01/2002", "02/07/2002", "01/02/2001", "", ""),
A = "",
B = c(NA, 1981, NA, 1981, 1950, 1989)
)
dat
# Date A B
# 1 04/12/2011 NA
# 2 03/01/2002 1981
# 3 02/07/2002 NA
# 4 01/02/2001 1981
# 5 1950
# 6 1989
# Replace the "" with NA
dat[] <- lapply(dat, function(x){
replace(x, x %in% "", NA)
})
dat
# Date A B
# 1 04/12/2011 <NA> NA
# 2 03/01/2002 <NA> 1981
# 3 02/07/2002 <NA> NA
# 4 01/02/2001 <NA> 1981
# 5 <NA> <NA> 1950
# 6 <NA> <NA> 1989