У меня есть данные, в которых каждый участник сделал 3 суждения по каждому из 9 объектов (27 суждений). 9 объектов изменялись в дизайне 3x3 (внутри предметов), поэтому есть 2 фактора.Измените данные от длинного до полуширины в R
Я начинаю с ID + 27 столбцов данных, и мне нужно иметь
- ID
- 2 фактора столбцов: Производительность, ситуационных
- 3 значений столбцов: Success, ProbAdmit, Допускают
Я прочитал руководства по reseape() и melt() и cast(), но еще не смог выяснить, что мне нужно сделать, чтобы это произошло. Вот мой текущий прогресс, из которого вы можете видеть мои фактические данные.
scsc3 <- read.csv("http://swift.cbdr.cmu.edu/data/SCSC3-2006-10-10.csv")
library(reshape)
scsc3.long <- melt(scsc3,id="Participant")
scsc3.long <- cbind(scsc3.long,colsplit(scsc3.long$variable,split="[.]",names=c("Item","Candidate","Performance","Situation")))
scsc3.long$variable <- NULL
scsc3.long$Candidate <- NULL
Приведенный выше код оставляет меня с этим:
Participant value Item Performance Situation
4001 5.0 Success GL IL
4001 60 ProbAdmit GL IL
4001 1 Admit GL IL
4002 ....
Что мне нужно, это dataframe как этот
Participant Performance Situation SuccessValue ProbAdmitValue AdmitValue
4001 GL IL 5.0 60 1
...
Спасибо!
хороший! Спасибо! Я еще не нашел reshape2 или dcast, но на самом деле формула была тем, что мне действительно нужно. теперь, когда вы это сделали, это выглядит так очевидно. благодаря! –
@ Да, пожалуйста. –