从因子列的 NA 行返回值

问题描述 投票:0回答:1

在 R 中,我使用

janitor::tabyl
生成因子变量
Mp
的频率表。

data_mp <- janitor::tabyl(data, Mp, show_na = TRUE)

它给了我:

Mp n 百分比 有效百分比
FCA 4848 5.66% 6.38%
FCA-特斯拉 6629 7.74% 8.72%
FCA意大利水疗中心 8700 10.16% 11.44%
菲亚特集团汽车SPA 451 0.53% 0.59%
福特-沃尔沃 2780 3.25% 3.66%
现代 4609 5.38% 6.06%
奔驰 7366 8.60% 9.69%
塔塔汽车捷豹路虎 4832 5.64% 6.36%
大众-上汽 9289 10.85% 12.22%
大众集团电脑 26526 30.98% 34.89%
NA 9606 11.22% NA

现在我想使用

NA
观察的数量及其百分比。
我试过
data_mp["NA", "n"]
但它返回我
NA
.

如何返回因子列的

NA
行中的值?

编辑

我通过以下方式设法恢复了观察次数:

data_mp[is.na(data_mp$Mp),"n"]
.
但我不确定这是正确的方法。

r r-factor
1个回答
0
投票

它不是行名,而是“Mp”列中的值,所以我们用

$
[[
提取列“Mp”,应用
is.na
(检查 NA 行而不是
== "NA"
), 将其用作行索引

data_mp[is.na(data_mp$Mp), "n"]
[1] 31

数据

data <- data.frame(Mp = sample(c(LETTERS[1:10], NA), 300, replace = TRUE))
data_mp <- janitor::tabyl(data, Mp, show_na = TRUE)
© www.soinside.com 2019 - 2024. All rights reserved.