对于 n 数目的受试者,我有长格式的神经心理测试分数。我需要通过按测试类型汇总分数来将其转换为广泛但也减少维度。我想要测试组的z分数。
让我们进入MWE。
id <- c("ana","ana", "brad","ana","brad", "matt", "matt")
assessment <- c("memory", "memory", "attention", "verbal", "attention", "memory", "attention")
value <- c(0.000,1.000,0.895,0.000,15.000, 3, 5)
mydata<-data.frame(id, assessment, value)
mydata看起来像:
> mydata
id assessment value
1 ana memory 0.000
2 ana memory 1.000
3 brad attention 0.895
4 ana verbal 0.000
5 brad attention 15.000
6 matt memory 3.000
7 matt attention 5.000
答案 0 :(得分:2)
我们可能需要按组
的序列变量library(dplyr)
library(tidyr)
mydata %>%
group_by(id) %>%
mutate(i1=row_number()) %>%
spread(assessment, value)
或使用dcast
data.table
library(data.table)
dcast(setDT(mydata), id+rowid(id) ~assessment, value.var = "value")