2つの数値データ列と1つの識別子を持つrのデータセットがあります。いくつかの行は同じ識別子を共有します(つまり、それらは同じ個人です)が、異なるデータを含みます。私は識別子を使用して識別子を共有する行を列から列に移動したいと考えています。現在600行ありますが、400が必要です。識別子を使用してRの列に行を移動する
誰かがこれを行う可能性のあるコードを共有できますか?私はRの新人ですし、改造(キャスト)プログラムを試しましたが、実際にそれをフォローすることはできませんし、まさに私がやろうとしていることではありません。
ありがとうございました。
UPDATE:
現在
ID Age Sex
1 3 1
1 5 1
1 6 1
1 7 1
2 1 2
2 12 2
2 5 2
3 3 1
の予想される出力
ID Age Sex Age2 Sex2 Age3 Sex3 Age4 Sex4
1 3 1 5 1 6 1 7 1
2 1 2 12 2 5 2
3 3 1
UPDATE 2:
これまでのところ私はreshape2から溶融とdcastコマンドを使用して試してみました。私はそこに着いていますが、それはまだかなりよく見えません。ここに私のコードです:
x <- melt(example, id.vars = "ID")
x$time <- ave(x$ID, x$ID, FUN = seq_along)
example2 <- dcast (x, ID ~ time, value.var = "value")
、ここでそのコードを使用して出力されます。
ID A B C D E F G H (for clarity i have labelled these)
1 3 5 6 7 1 1 1 1
2 1 12 5 2 2 2
3 3 1
だから、あなたはおそらく見ることができるように、それは「セックス」と「時代」の変数を混合して、それらを同じ列に組み合わせるたとえば、列Dは、人1(年齢4)では値「7」を持ちますが、人2(「性別」)では「2」です。私のコードは、数値の値をどこにキャストすべきかを指示していませんが、その部分のコード方法はわかりません。何か案は?
はその – akrun
'edit'してくださいあなたのポストに基づいて小さな再現性の例と期待される出力を示し、 – akrun
にそれを、それを更新してくださいあなたが試したこと、その試行で何が間違っていたのか、他に何を試みたのかを示すのに役立ちます。他人があなたのためにコードを書くだけの場所ではありません – workabyte