使用R中的is.na()和if_else()将连续数据重新编码为分类数据



我有一个数据框架,其中一列同时包含连续数据和NA。我想使用if_else((和is.NA((将所有连续数据重新编码为一级分类数据,将NA重新编码为另一级分类数据。我该怎么做?

示例数据帧:

df<-tibble(id=1:10,score=c(3,1,-3,-9,NA,NA,12,NA,5,NA))

我怎样才能把所有的数字重新编码成";结果";并将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值分类为"0";是NA";。

最新更新