在 R 中使用 is.na() 和 if_else() 将连续数据重新编码为分类数据
Recode continuous data into categorical data using is.na() and if_else() in R
我有一个数据框,其中一列同时包含连续数据和 NA。我想使用 if_else() 和 is.na() 将所有连续数据重新编码为一个级别的分类数据,将 NA 重新编码为另一个级别。我该怎么做?
示例数据框:
df<-tibble(id=1:10,score=c(3,1,-3,-9,NA,NA,12,NA,5,NA))
如何将所有数字重新编码为“结果”并将 NA 重新编码为“no_results”?
我提供了一个玩具示例来代替您描述的代码:
df <- data.frame(x = c(1,2,3,4,NA,NA,NA,NA))
在这里,我们有一个具有连续值和 NA 值的数据框,使用 dplyr,我们可以使用您的函数对“x”进行分类:
library(dplyr)
df <- df %>%
mutate(new_data = if_else(is.na(x), "is NA", "is not NA"))
这会创建一个新列,将您的 NA 值归类为“是 NA”。
我有一个数据框,其中一列同时包含连续数据和 NA。我想使用 if_else() 和 is.na() 将所有连续数据重新编码为一个级别的分类数据,将 NA 重新编码为另一个级别。我该怎么做?
示例数据框:
df<-tibble(id=1:10,score=c(3,1,-3,-9,NA,NA,12,NA,5,NA))
如何将所有数字重新编码为“结果”并将 NA 重新编码为“no_results”?
我提供了一个玩具示例来代替您描述的代码:
df <- data.frame(x = c(1,2,3,4,NA,NA,NA,NA))
在这里,我们有一个具有连续值和 NA 值的数据框,使用 dplyr,我们可以使用您的函数对“x”进行分类:
library(dplyr)
df <- df %>%
mutate(new_data = if_else(is.na(x), "is NA", "is not NA"))
这会创建一个新列,将您的 NA 值归类为“是 NA”。