0

私の質問があまりにもばかげていると思わないことを願っています。私は多くの調査を行いましたが、この本当に厄介な問題を解決する方法がわからないようです。

さて、私は実験の6人の参加者(P)のデータを持っており、参加者ごとに50回の試行(T)と10回の条件(C)があります。そこで、これらのデータを配置できるように、rにデータフレームを作成したいと思います。このdata.frameには3つの要素(P、T、C)が必要であるため、合計行数は(P * T * C)になります。私にとって難しいのは、これを作成することです。なぜなら、100 obs(T)x 10 varibles(C)の6つのdata.frameに6人の参加者のデータがあるからです。最初にこれらの要素を使用して空のデータセットを作成し、次に要素P、T、Cに従って6つのdata.setの値をコピーしたいと思います。助けていただければ幸いです。私はrの初心者です。

ありがとうございました。

4

1 に答える 1

3

わかった; まず、すべての参加者に対して1つの大きなデータフレームを作成します。

result<-rbind(dfrforparticipant1, dfrforparticipant2,...dfrforparticipant6) #you'll have to fill out the proper names of the original data.frames

次に、参加者IDの列を追加します。

numTrials<-50 #although 100 is also mentioned in your question
result$P<-as.factor(rep(1:6, each=numTrials))

最後に、「ワイド」形式から「ロング」形式に変更する必要があります(各条件の結果を保持する列名は、C1、C2などと呼ばれると想定しています。また、元のdata.framesがすでに保持されていると想定しています。トライアルを示すTという名前の列)、このように(サンプルデータを提供しなかったため、テストされていません):

orgcolnames<-paste("C", 1:10, sep="")
result2<-reshape(result, varying=list(orgcolnames), v.names="val", idvar=c("T","P"), timevar="C", times=seq_along(orgcolnames), direction="long")

あなたが欲しいものは今にありresult2ます。

于 2011-10-05T16:04:33.790 に答える