R 中的交叉表

问题描述 投票:0回答:2

我有一个数据集,其中包含由两名评分者评分的受试者。我想获得评估者达成一致的案例的交叉表。

# Column names
pro <- c("P1", "P2", "P3", "P4", "P5")

# Rows
R1 <- c("Poor", "Acceptable", "Acceptable", "Good", "Acceptable")
R2 <- c("Poor", "Acceptable", "Good", "Good", "Acceptable")

# Data
data1 <- rbind(R1, R2)
colnames(data1) <- pro
as.data.frame(data1)

期望的结果(行中 R1 的评分,列中 R2 的评分):

可以接受
1 0 0
0 2 1
0 0 1
r pivot-table
2个回答
1
投票

这似乎是

table()

的工作

table(R1,R2)


0
投票

由于您似乎需要特定订单,因此可以使用

factor

lapply(list(R1, R2), factor, levels=c("Poor", "Acceptable", "Good")) |> 
    do.call(what='table')
            
             Poor Acceptable Good
  Poor          1          0    0
  Acceptable    0          2    1
  Good          0          0    1

数据:

> dput(R1)
c("Poor", "Acceptable", "Acceptable", "Good", "Acceptable")
> dput(R2)
c("Poor", "Acceptable", "Good", "Good", "Acceptable")
© www.soinside.com 2019 - 2024. All rights reserved.