Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何处理具有不同标签的NA值_R_Label_Na - Fatal编程技术网

R 如何处理具有不同标签的NA值

R 如何处理具有不同标签的NA值,r,label,na,R,Label,Na,我在处理调查数据集中的NA值时遇到问题 library(haven) x <- labelled( c(1:3, tagged_na("a", "c", "z"), 4:1), c("Agreement" = 1, "Disagreement" = 4, "First" = tagged_na("c"), "Refused" = tagged_na("a"), "Not home" = tagged_na("z")) ) 图书馆(避风港) x检查这个:

我在处理调查数据集中的NA值时遇到问题

library(haven)
x <- labelled(
  c(1:3, tagged_na("a", "c", "z"), 4:1),
  c("Agreement" = 1, "Disagreement" = 4, 
    "First" = tagged_na("c"),
    "Refused" = tagged_na("a"), 
    "Not home" = tagged_na("z"))
)
图书馆(避风港)
x检查这个:

base::table(haven::as_factor(x, levels = "labels"))
输出

Agreement Disagreement        First 
       2            1            1 
 Refused     Not home 
       1            1 

我们可以使用
get_values
函数从
sjlabeled
包中提取其中包含
NA
的值,并使用
table
获取它们的计数

table(grep('NA', sjlabelled::get_values(x), value = TRUE))

# NA(a) NA(c) NA(z) 
#    1     1     1 

你的预期产出是多少
is.na(x)
为您提供了
na
值的位置。我希望看到这样的内容:na(a):1na(c):1na(z):1。@MZ2017是我的答案,可以满足您的需要吗?谢谢!你用过包裹吗?我试图运行您的代码,但我得到了“因子(x,levs,labels=labs,ordered=ordered)中的错误:无效的“标签”;长度5应该是1或2”@MZ2017它是安全的。你正在使用的那个。更新我的答案以添加包。请现在检查。我不知道为什么,我仍然收到一条错误消息。也许这和我的R工作室环境有关。但是我可以使用as_factor(x)命令将标签更改为factor。谢谢
table(grep('NA', sjlabelled::get_values(x), value = TRUE))

# NA(a) NA(c) NA(z) 
#    1     1     1