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

复杂数据集评分者间分析:Fleiss' Kappa结果计数异常求助

问题背景

我的数据集为行为谱(ethogram)响应数据,由5名评分者分别对53个视频(涉及28只不同犬只)进行评分。最终数据集包含55列、265行,前3列用于标识评分者及对应评分的视频。我已将数据拆分为**有序(ordinal)和分类(categorical)**子集。

数据融化代码

# Melt the data----                              
# Convert all non-identifier columns to character type

ordinal <- ordinal %>%
  mutate(across(-c(Code, Data.Collection.Number, Assessor), as.character))

ordinal_melted_data <- ordinal %>%
  pivot_longer(cols = -c(Code, Data.Collection.Number, Assessor),
               names_to = "variable",
               values_to = "value") 

##Categorical 
# Convert all non-identifier columns to character type

categorical <- categorical %>%
  mutate(across(-c(Code, Data.Collection.Number, Assessor), as.character))

# Melt the data
categorical_melted_data <- categorical %>%
  pivot_longer(cols = -c(Code, Data.Collection.Number, Assessor),
               names_to = "variable",
               values_to = "value")

Fleiss' Kappa分析异常问题

我使用融化后的数据尝试进行Fleiss' Kappa和ICC分析,但分类数据的Fleiss' Kappa得出的评分者(3名)和受试者(28个)数量与实际不符,实际应为5名评分者、53个视频。

分析代码

# Get unique variable names from categorical_melted_data
variable_names <- unique(categorical_melted_data$variable)

# Initialize a list to store results
results <- list()

# Iterate over each variable
for (variable in variable_names) {
  # Subset data for the current variable
  variable_data <- categorical_melted_data[categorical_melted_data$variable == variable, ]
  
  # Print unique raters and subjects
  cat("Variable:", variable, "\n")
  cat("Unique raters:", unique(variable_data$Assessor), "\n")
  cat("Unique subjects:", unique(variable_data$Code), "\n")
  
  # Create the contingency table
  contingency_table <- table(variable_data$Code, variable_data$value)
  
  # Calculate Fleiss' Kappa
  fleisskappa_result <- kappam.fleiss(contingency_table)
  
  # Store the results
  results[[variable]] <- fleisskappa_result$value
}

# Print results along with raters and subjects details
for (variable in variable_names) {
  cat("Variable:", variable, "\n")
  
  # Display details on raters and subjects
  cat("Number of raters:", ncol(contingency_table), "\n")
  cat("Number of subjects:", nrow(contingency_table), "\n")
  
  # Display Fleiss' Kappa value for the variable
  cat("Fleiss' Kappa:", results[[variable]], "\n\n")
}

补充说明

融化后的数据格式为5列:Video Code、Assessor、Data Collection Number、variable、value


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 22:09:49