如何按项目计算分类变量的百分比?

How to calculate percentages for categorical variables by items?

我有一个关于按项目和时间段计算百分比的问题。实验是这样的:

我进行了眼动追踪实验。参与者被要求描述由两个感兴趣区域(AOI;我将它们命名为 AgentPatient)。他们的眼球运动(注视两个 AOI)在他们计划制定配方的过程中被记录下来。我制定了一个包含时间信息和 AOI 的数据集,如下所示(从图片开始的整个时间被分成单独的时间段,每个时间段 40 毫秒)。

Stimulus   Participant    AOIs         time_bin     
1          M1             agent          1               
1          M1             patient        2               
1          M1             patient        3               
1          M1             agent          4               

...
1          M2             agent          1               
1          M2             agent          2               
1          M2             agent          3              
1          M2             patient        4               
...
1          M3             agent          1               
1          M3             agent          2               
1          M3             agent          3              
1          M3             patient        4
...

2          M1             agent          1               
2          M1             agent          2               
2          M1             patient        3              
2          M1             patient        4

我想创建一个 table 包含每个时间段的每个刺激的一个 AOI(例如代理)的比例。应该是这样的:

Stimulus      time_bin      percentage     
1                1            20%              
1                2            40%               
1                3            55%               
1                4            60%    
...
2                1            30%              
2                2            35%               
2                3            40%               
2                4            45% 

我计算百分比是因为我想做一个多层次分析(增长曲线分析)调查因变量 agent fixation proportion 和自变量 time_bin 之间的关系,以及 stimulus 作为随机效应。

由于我的英语知识有限,希望我的问题得到理解。

如果您有什么想法或建议,那将是莫大的帮助!

您可以尝试使用 tidyverse 包生态系统:

library(tidyverse)

df %>%
  mutate(percentage = as.integer(AOIs == "agent") ) %>%
  group_by(Stimulus, time_bin) %>%
  summarise(percentage = mean(percentage))

请注意,这将为您提供 [0, 1] 区间内的比率。您仍然必须通过乘以 100 并附加“%”将其转换为百分比值。