if (sjmisc::is_empty(x)) return(NULL) 中的错误:缺少需要 TRUE/FALSE 的值

Error in if (sjmisc::is_empty(x)) return(NULL) : missing value where TRUE/FALSE needed

我正在尝试 运行 具有 NA 值和文本值的分类变量的简单频率,但无论我做什么,我都会遇到同样的错误。

frq(X201504_201812_Met$`Object of search`, out = "v")

Error in if (sjmisc::is_empty(x)) return(NULL) : missing value where TRUE/FALSE needed

这是一个庞大的数据集,因此我 运行 dput() 命令仅针对 'Object of search' 变量。这几乎是我得到的,除了还有更多(超过一百万行数据):

dput(X201504_201812_Met$Object of search) c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "Offensive weapons", "Controlled drugs", "Controlled drugs", "Fireworks", "Controlled drugs", "Stolen goods", "Controlled drugs", "Controlled drugs", "Offensive weapons", "Controlled drugs", "Fireworks", "Controlled drugs", "Controlled drugs", "Evidence of offences under the Act", "Controlled drugs", "Controlled drugs", "Controlled drugs", "Controlled drugs", "Controlled drugs", "Controlled drugs", "Controlled drugs", "Controlled drugs", "Controlled drugs", "Controlled drugs", "Controlled drugs", "Controlled drugs", "Offensive weapons", "Stolen goods", "Controlled drugs", "Controlled drugs", "Offensive weapons", "Offensive weapons", "Controlled drugs", "Controlled drugs", "Controlled drugs", "Controlled drugs", "Controlled drugs" )

有人对此有解决方案吗?

非常感谢!

非常感谢您的编辑!现在我想我解决了这个问题。 看来你的变量还是character。您需要先将其转换为factor

frq(as.factor(X201504_201812_Met$`Object of search`), out = "v")

这应该可以解决问题![​​=13=]