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"]
.它不是行名,而是“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)