You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用dplyr对R数据框做透视转换,统计标签匹配/不匹配计数

实现方案

首先加载所需依赖包:
library(tidyverse)

先修正原数据中cross列的拼写错误(原数据存在笔误Matcehed):

df <- df %>%
  mutate(cross = recode(cross, "Matcehed" = "Matched"))

核心转换代码:

result <- df %>%
  # 将两个标签列合并为统一的label列
  pivot_longer(cols = c(label_x, label_y), values_to = "label", names_to = NULL) %>%
  # 过滤标签为NA的无效行
  filter(!is.na(label)) %>%
  # 按标签和cross匹配类型分组计数
  count(label, cross, name = "cnt") %>%
  # 转换为要求的宽表结构
  pivot_wider(names_from = cross, values_from = cnt, values_fill = 0) %>%
  # 重命名列并计算每个标签的总计数
  rename(Matching = Matched, Mismatching = Mismatched) %>%
  mutate(Total = Matching + Mismatching)

执行后直接查看result即可得到符合要求的输出表。

内容的提问来源于stack exchange,提问作者TeoK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 22:36:00