tidyr::收集can';我找不到我的值变量
我有一个非常大的data.frame。我复制了其中的一部分tidyr::收集can';我找不到我的值变量,r,tidyr,R,Tidyr,我有一个非常大的data.frame。我复制了其中的一部分 RECORDING_SESSION_LABEL condition TRIAL_INDEX IA_LABEL IA_DWELL_TIME 1 23 match 1 eyes 3580 2 23 match 1 nose 241
RECORDING_SESSION_LABEL condition TRIAL_INDEX IA_LABEL IA_DWELL_TIME
1 23 match 1 eyes 3580
2 23 match 1 nose 2410
3 23 match 1 mouth 1442
4 23 match 1 face 841
5 23 mismatch 3 eyes 1817
6 23 mismatch 3 nose 1724
7 23 mismatch 3 mouth 1600
8 23 mismatch 3 face 1136
9 23 mismatch 4 eyes 4812
10 23 mismatch 4 nose 3710
11 23 mismatch 4 mouth 4684
12 23 mismatch 4 face 1557
13 23 mismatch 6 eyes 4645
14 23 mismatch 6 nose 2321
15 23 mismatch 6 mouth 674
16 23 mismatch 6 face 684
17 23 match 7 eyes 1062
18 23 match 7 nose 1359
19 23 match 7 mouth 215
20 23 match 7 face 0
我需要计算每个试验索引中每个IA_标签的IA_停留时间百分比。为此,我首先将IA_标签放在不同的列中
data_IA_DWELL_TIME <- tidyr::spread(data_IA_DWELL_TIME, key = IA_LABEL, value = IA_DWELL_TIME)
data\u IA\u dwill\u TIME如前所述,您在collect
语句中没有引用数据帧
但是,您可以避免完全引用它,将第二部分放在dplyr
管道中,如下所示:
library(dplyr)
library(tidyr)
data_IA_DWELL_TIME <- spread(data_IA_DWELL_TIME, key = IA_LABEL, value = IA_DWELL_TIME)
data_IA_DWELL_TIME %>%
mutate_at(
vars(eyes, nose, mouth, face),
~ 100 * (. / (rowSums(data_IA_DWELL_TIME[, c("eyes", "nose", "mouth", "face")])))
) %>%
gather(key = IA_LABEL, value = IA_DWELL_TIME,-RECORDING_SESSION_LABEL,-condition, -TRIAL_INDEX)
库(dplyr)
图书馆(tidyr)
数据保存时间%
突变(
内翻(眼睛、鼻子、嘴、脸),
~100*(./(行和(数据驻留时间[,c(“眼睛”、“鼻子”、“嘴”、“脸”))))
) %>%
聚集(键=IA\U标签,值=IA\U停留时间,-录制会话\U标签,-条件,-试验索引)
您需要参考您的df
,例如数据\u IA\u停留时间\u百分比多么愚蠢的错误!非常感谢arg0naut91没问题,我们都在这里学习-请参阅下文,了解您的管道可能的改进。非常感谢arg0naut91。非常有用的建议!
data_IA_DWELL_TIME_percentage <- tidyr::gather(key = IA_LABEL, value = IA_DWELL_TIME,-RECORDING_SESSION_LABEL,-condition, -TRIAL_INDEX)
library(dplyr)
library(tidyr)
data_IA_DWELL_TIME <- spread(data_IA_DWELL_TIME, key = IA_LABEL, value = IA_DWELL_TIME)
data_IA_DWELL_TIME %>%
mutate_at(
vars(eyes, nose, mouth, face),
~ 100 * (. / (rowSums(data_IA_DWELL_TIME[, c("eyes", "nose", "mouth", "face")])))
) %>%
gather(key = IA_LABEL, value = IA_DWELL_TIME,-RECORDING_SESSION_LABEL,-condition, -TRIAL_INDEX)