マイデータ列ヘッダーは次のようになります複数日のマージと値のペア
日付1変数1日付2変数2 Date3変数3 Date4変数4
それぞれの長さ日付/変数のペアが異なります。
「日付」は、このように1列になるように、誰もがすべての日付値を結合する方法を知っています:私は、これは可能性が考え
日変数1変数2変数3変数4
マイデータ列ヘッダーは次のようになります複数日のマージと値のペア
日付1変数1日付2変数2 Date3変数3 Date4変数4
それぞれの長さ日付/変数のペアが異なります。
「日付」は、このように1列になるように、誰もがすべての日付値を結合する方法を知っています:私は、これは可能性が考え
日変数1変数2変数3変数4
楽しいエクササイズ。
私はcsvファイルにデータの一部を嘲笑。
> raw_input <- read.csv('date variable sample.csv')
> raw_input
Date Variable.1 Date2 Variable.2 Date4 Variable4
1 9/12/2009 82 9/12/2009 41 15/12/2009 0
2 9/12/2009 12:00 80 9/12/2009 12:00 38 23/03/2010 16:00 71
3 9/12/2009 16:00 80 9/12/2009 16:00 42 25/03/2010 21:00 73
私は、その後set.1、set.2 ... Dにあなたの日、変数のペアを分離するために作成しました異なるデータフレーム。
> set.1 <- raw_input[c('Date','Variable.1')]
> colnames(set.1) <- c('Date', 'Variable')
Date Variable
1 9/12/2009 82
2 9/12/2009 12:00 80
3 9/12/2009 16:00 80
> set.2 <- raw_input[c('Date2', 'Variable.2')]
> colnames(set.2) <- c('Date', 'Variable')
Date Variable
1 9/12/2009 41
2 9/12/2009 12:00 38
3 9/12/2009 16:00 42
> set.4 <- raw_input[c('Date4', 'Variable4')]
> colnames(set.4) <- c('Date', 'Variable')
Date Variable
1 15/12/2009 0
2 23/03/2010 16:00 71
3 25/03/2010 21:00 73
次に、すべてのデータフレームをReduce()でマージしました。
> fin <- Reduce(function(x, y) merge(x, y, all=T, by=c("Date")), list(set.1, set.2, set.4))
> fin
Date Variable.x Variable.y Variable
1 9/12/2009 82 41 NA
2 9/12/2009 12:00 80 38 NA
3 9/12/2009 16:00 80 42 NA
4 15/12/2009 NA NA 0
5 23/03/2010 16:00 NA NA 71
6 25/03/2010 21:00 NA NA 73
日付をグループ化できるように正規化(時間を無視)することもできますが、おそらくこれはしたくないでしょう。
ハッピーコーディング!
上記を行い、 'Reduce()'関数を使う前に各データフレームでNAを取り除くために 'na.omit()'を使いました。 – Jake
プロセスの前後にいくつかのサンプルデータを追加すると、実行しようとしていることが明確になります。あなたはこのようにしてより良い答えを得るでしょう。 – Hypnobrew
この例に基づいて予想される出力を表示する方が良いです。画像の代わりにデータを表示するには、 'dput'を使用してください。 – akrun