これは長い間広い意味でここに何度も尋ねられてきましたが、私は反復的な2つの値の変数がある状況に遭遇しました。2回繰り返された長時間の幅広い
id sex time score1 score2
1 subject 1 m Time1 -0.20926263 0.2499310
2 subject 2 m Time1 0.17147511 3.2708905
3 subject 3 m Time1 -0.82619584 0.5993917
4 subject 4 f Time1 -0.95568823 4.4729726
5 subject 5 f Time1 -2.29939525 8.0101254
6 subject 1 m Time2 -0.37914702 3.6387589
7 subject 2 m Time2 0.26759909 4.9027533
8 subject 3 m Time2 0.07727621 2.1848642
9 subject 4 f Time2 -0.08613439 5.8747074
10 subject 5 f Time2 -0.02743044 4.3963938
11 subject 1 m Time3 0.07176053 3.7959496
12 subject 2 m Time3 0.46463917 5.2494579
13 subject 3 m Time3 -0.68764512 2.2639503
14 subject 4 f Time3 -0.56670061 2.3361909
15 subject 5 f Time3 1.70731774 5.8345116
データフレーム(DF)を簡単に再現します。
DF<-data.frame(id=rep(paste("subject", 1:5, sep=" "), 3),
sex=rep(c("m","m","m","f","f"), 3),
time=c(rep("Time1",5), rep("Time2",5), rep("Time3",5)),
score1=rnorm(15), score2=abs(rnorm(15)*4))
私はベースからreshape
機能を使用して測定された2つの反復測定変数の広いに長いの問題を解決することができますが、これらのパッケージは、一般的にはるかに直感的に私にあるように私は、plyr
またはreshape2/1
答えを期待していました。あなたが他の解決策を持っていれば、学習は素晴らしいものになるので、それらを提供してください。ベースから
ソリューション:
wide <- reshape(DF, v.names=c("score1", "score2"), idvar="id",
timevar="time", direction="wide")
wide
?私は、近い(「話題から外れた」)投票が何であったのか見ていない...? –
ベンはそのような小さなコードで形を変えてそれを打ちました。私は他の方法(非常に/ data.tableなどでこれを行うかどうかわからない) –