3

各参加者が 9 つのオブジェクトのそれぞれについて 3 つの判断 (27 の判断) を行ったデータがあります。9 つのオブジェクトは 3x3 のデザイン (被験者内) で変化するため、2 つの要因があります。

ID + 27 のデータ列から始めていますが、

  • ID
  • 2 つの因子列: パフォーマンス、状況
  • 3 つの値列: Success、ProbAdmit、Admit

reshape() と 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         ....

私が必要とするのは、このようなデータフレームです

Participant Performance  Situation SuccessValue ProbAdmitValue AdmitValue
4001        GL           IL        5.0          60             1
...

ありがとう!

4

1 に答える 1

9

これを試して:

require(reshape2)
> dcast(scsc3.long, 
        Participant + Performance + Situation ~ Item, 
        value_var = 'value' )

  Participant Performance Situation Admit ProbAdmit Success
1        4001          GH        IH     1       100       7
2        4001          GH        IL     1        50       5
3        4001          GH        IM     1        60       5
4        4001          GL        IH     0        40       3
5        4001          GL        IL     0         0       2
6        4001          GL        IM     0        40       4
...

何をしているのかを考える 1 つの方法dcastは次のとおりです。行が の組み合わせでParticipant + Performance + Situationあり、列が のさまざまな可能な値Item、つまりAdmit, ProbAdmit, Success. は、「行と列」の組み合わせごとにvalue_var = 'value'、列のエントリを表示する必要があることを示します。value

于 2011-06-13T18:32:32.120 に答える