R语言如何统计因子列间行值相等/不等数量并汇总为指定tibble?
解法1:dplyr包实现(推荐)
直接通过summarise逐列统计即可,利用R逻辑值求和自动转1/0的特性简化代码:
library(dplyr) final <- df %>% summarise( equal = sum(var1 == var2), different = sum(var1 != var2), total = n() )
解法2:base R无依赖实现
如果不想加载第三方包,也可以用基础函数计算后封装为tibble:
equal_count <- sum(df$var1 == df$var2) final <- tibble( equal = equal_count, different = nrow(df) - equal_count, total = nrow(df) )
两种方法运行后得到的结果都和你要求的格式完全一致:
> final # A tibble: 1 × 3 equal different total <int> <int> <int> 1 2 6 8
内容的提问来源于stack exchange,提问作者Wilson Souza
相关产品推荐
相关产品推荐

