使用tidyverse按项目和时间计算分类变量的百分比

时间:2019-07-10 15:55:56

标签: r

我正在使用R分析时程数据。它来自眼动实验。指示参与者固定假想刺激的不同区域。我们得到了五个对分析至关重要的区域:“ cd”,“ dd”,“ u1”,“ u2”,“空白”。它们是变量“ AOI名称”的5个因素。将整个时间汇总到时间段中(每个时间段50ms)。 现在,我想通过Bin和Stimulus

计算每个区域的百分比

下面是我的数据框示例(很抱歉,ctrl + k在我的计算机上不起作用):

Stimulus Participant AOI names         Bin
1        P1              cd            1
1        P1              cd            2
1        P1              dd            3
1        P1              dd            4
1        P1              dd            5
1        P1              u1            6
1        P1              u1            7
1        P1              u2            8
1        P1              whitespace    9
1        P1              u2            10
2        P1              dd            1
2        P1              cd            2
2        P1              dd            3
2        P1              u1            4
2        P1              u2            5
2        P1              whitespace    6
2        P1              whitespace    7

...
1        P2              dd            1
1        P2              cd            2
1        P2              u1            3
1        P2              u2            4
1        P2              u2            5
1        P2              u2            6
1        P2              dd            7
1        P2              u2            8
1        P2              whitespace    9
1        P2              u2            10
2        P2              dd            1
2        P2              dd            2
2        P2              u1            3
2        P2              u1            4
2        P2              u2            5
2        P2              whitespace    6
2        P2              whitespace    7

我想要得到的是:

Stimulus      time_bin      percentage  AOI names   
1                1            50%         cd     
1                1            50%         dd    
1                1            0%          u1    
1                1            0%          u2
...
1                2            100%         cd       
1                2            0%           dd    
1                2            0%           u1    
1                2            0%           u2
...

也就是说,在每个刺激和时间范围内,有多少参与者将视线指向一个AOI。

我尝试了以下代码:

library(tidyverse)

X1_u1 <- X1 %>% mutate(percentage = as.integer(X1[`AOI Name`], 1, 0)) %>%
  group_by(Stimulus,Bin)%>%
  summarise(percentage = mean(percentage))

您能看看我的代码哪一部分错了吗?还是您有更好的解决方案?谢谢!

0 个答案:

没有答案