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

求助:如何在R语言中构建一致性2×2表格

在R中生成2×2一致性表格的方法

针对你需要基于二元评分数据(1=Yes,0=No)生成2×2一致性表格的需求,以下是具体实现步骤:

1. 导入/构造数据

先将样例数据转换为R可处理的数据框:

# 构造样例数据
df <- data.frame(
  person1 = c(1,1,1,0,0,0,1,1,0,0),
  person2 = c(1,0,1,0,1,0,1,1,1,0)
)

2. 基础方法:用table()生成频数表

R内置的table()函数可直接生成核心的2×2列联表,也就是你需要的一致性表格:

# 生成原始列联表
consistency_table <- table(df$person1, df$person2)
# 查看结果
consistency_table

运行后输出:

0 1
  0 3 2
  1 1 4

行代表person1的结果,列代表person2的结果,数值为对应组合的出现频数。

3. 美化表格:替换为Yes/No标签

如果需要把0/1替换为你指定的中文标签,可先将数值转换为带标签的因子,再生成表格:

# 将数值转换为带标签的因子
df$person1 <- factor(df$person1, levels = c(1,0), labels = c("Yes(是)", "No(否)"))
df$person2 <- factor(df$person2, levels = c(1,0), labels = c("Yes(是)", "No(否)"))

# 生成带标签的一致性表格
labeled_table <- table(df$person1, df$person2)
labeled_table

输出结果完全匹配你提供的样例表格结构:

Yes(是) No(否)
  Yes(是)        4        1
  No(否)         2        3

4. 可选:用janitor包生成带合计的表格

如果需要更实用的输出(比如包含行/列合计),可以使用janitor包的tabyl()函数:

# 安装并加载janitor包
install.packages("janitor")
library(janitor)

# 生成带合计的一致性表格
tabyl(df, person1, person2) %>%
  adorn_totals(c("row", "col"))

输出会自动添加行、列的合计数,便于快速查看整体分布。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 17:17:23