我是 R 的初学者。我有一个数据框,其中有两个因子列。一栏是公司栏,第二栏是产品栏。产品列中有几个缺失值,因此我想计算每个公司(或公司变量的每个级别)的产品列中的值数。我在 plyr 包中尝试了 table 和 count 函数,但它们似乎只适用于数字变量。请帮忙!假设数据框如下所示:
df <- data.frame(company= c("A", "B", "C", "D", "A", "B", "C", "C", "D", "D"), product = c(1, 1, 2, 3, 4, 3, 3, NA, NA, NA))
Run Code Online (Sandbox Code Playgroud)
所以我正在寻找的输出是 -
A 2 B 2 C 3 D 2
提前致谢!!
dplyr 解决方案。
df %>%
filter(!is.na(product)) %>%
group_by(company) %>%
count()
# A tibble: 4 × 2
comp n
<fctr> <int>
1 A 2
2 B 2
3 C 3
4 D 1
Run Code Online (Sandbox Code Playgroud)