R 无法识别丢失的数据
R won't recognize missing data
我有一个包含多列的数据集。在某些列中,所有值都缺失,而在其他列中,只有几个值。导入到 R 时,缺失值仅显示为空单元格而不是 NA。
这导致的问题是,当我想使用 na.omit()
函数删除 NA 值时,什么也没有发生。
我该如何处理这个问题?
您可以使用以下代码将所有空值替换为 NA
:
library(dplyr)
your_data_with_NA <- your_data %>%
mutate_all(na_if, "")
最简单的方法通常是在导入数据时修复此问题。大多数用于导入数据的函数都有一些参数来指定应将哪些值解释为 NA
,例如:
read.csv
等:na.strings
readr::read_csv
等:na
readxl::read_excel
等:na
只需将此参数设置为 ""
、" "
或 R 未解释为 NA
的任何值。
如果这不适合您,您可以使用 NA 替换空白值:
library(dplyr)
df %>%
mutate(
across(
everything(),
~na_if(.x, "")
)
)
Note that mutate(across(everything()))
has superseeded mutate_all
but does the same.
数据
df <- mtcars %>% head()
df[1, 1] <- ""
我有一个包含多列的数据集。在某些列中,所有值都缺失,而在其他列中,只有几个值。导入到 R 时,缺失值仅显示为空单元格而不是 NA。
这导致的问题是,当我想使用 na.omit()
函数删除 NA 值时,什么也没有发生。
我该如何处理这个问题?
您可以使用以下代码将所有空值替换为 NA
:
library(dplyr)
your_data_with_NA <- your_data %>%
mutate_all(na_if, "")
最简单的方法通常是在导入数据时修复此问题。大多数用于导入数据的函数都有一些参数来指定应将哪些值解释为 NA
,例如:
read.csv
等:na.strings
readr::read_csv
等:na
readxl::read_excel
等:na
只需将此参数设置为 ""
、" "
或 R 未解释为 NA
的任何值。
如果这不适合您,您可以使用 NA 替换空白值:
library(dplyr)
df %>%
mutate(
across(
everything(),
~na_if(.x, "")
)
)
Note that
mutate(across(everything()))
has superseededmutate_all
but does the same.
数据
df <- mtcars %>% head()
df[1, 1] <- ""