1

次のようないくつかのデータフレームがあります

>data1
     pearson     fisher      yates  mec
1 0.01141204 0.02857143 0.05777957 2.50
2 0.02609829 0.04761905 0.11203684 2.25
3 0.05280751 0.07619048 0.19670560 2.00
4 0.09742169 0.16666667 0.31998422 1.75
5 0.16754628 0.42857143 0.49015296 1.50
6 0.27332168 0.44444444 0.71500065 1.25
7 0.42919530 1.00000000 1.00000000 1.00
8 0.65790502 1.00000000 0.65790502 0.75
9 1.00000000 1.00000000 0.29184055 0.50

> data2
     pearson     fisher     yates  mec
1 0.02609829 0.04761905 0.1120368 2.25
2 0.05777957 0.20634921 0.2059032 2.50
3 0.11203684 0.24242424 0.3403557 2.25
4 0.19670560 0.52380952 0.5186050 2.00
5 0.31998422 0.52380952 0.7402693 1.75
6 0.49015296 1.00000000 1.0000000 1.50
7 0.71500065 1.00000000 0.7150007 1.25
8 1.00000000 1.00000000 0.4291953 1.00
9 0.65790502 1.00000000 0.6579050 0.75

これら 2 つのデータ フレームをマージしようとすると、次のようになります。

> merge(data1, data2, all=TRUE)
      pearson     fisher      yates  mec
1  0.01141204 0.02857143 0.05777957 2.50
2  0.02609829 0.04761905 0.11203684 2.25
3  0.05280751 0.07619048 0.19670560 2.00
4  0.05777957 0.20634921 0.20590321 2.50
5  0.09742169 0.16666667 0.31998422 1.75
6  0.11203684 0.24242424 0.34035574 2.25
7  0.16754628 0.42857143 0.49015296 1.50
8  0.19670560 0.52380952 0.51860502 2.00
9  0.27332168 0.44444444 0.71500065 1.25
10 0.31998422 0.52380952 0.74026928 1.75
11 0.42919530 1.00000000 1.00000000 1.00
12 0.49015296 1.00000000 1.00000000 1.50
13 0.65790502 1.00000000 0.65790502 0.75
14 0.71500065 1.00000000 0.71500065 1.25
15 1.00000000 1.00000000 0.29184055 0.50
16 1.00000000 1.00000000 0.42919530 1.00

18 行を取得する必要がありますが、代わりに 16 行を取得しました。重複する行があり、それらをデータ セットに保持したいと考えています。どうやってやるの?

4

1 に答える 1

2

編集この回答は無視してください。merge目的の出力が得られます。

rbind()2 つのデータ フレームをまとめて、両方のすべての行を新しいデータ フレームに保持します。また、質問に のタグを付け直すと、より多くの回答とタイムリーな回答が得られる可能性がありますr

まず、2 つのデータ セットを に取得しますr

data1 = read.table(text = "
 pearson    fisher     yates      mec
 0.01141204 0.02857143 0.05777957 2.50
 0.02609829 0.04761905 0.11203684 2.25
 0.05280751 0.07619048 0.19670560 2.00
 0.09742169 0.16666667 0.31998422 1.75
 0.16754628 0.42857143 0.49015296 1.50
 0.27332168 0.44444444 0.71500065 1.25
 0.42919530 1.00000000 1.00000000 1.00
 0.65790502 1.00000000 0.65790502 0.75
 1.00000000 1.00000000 0.29184055 0.50", sep = "", header = TRUE)

data2 = read.table(text = "
 pearson     fisher     yates  mec
 0.02609829 0.04761905 0.1120368 2.25
 0.05777957 0.20634921 0.2059032 2.50
 0.11203684 0.24242424 0.3403557 2.25
 0.19670560 0.52380952 0.5186050 2.00
 0.31998422 0.52380952 0.7402693 1.75
 0.49015296 1.00000000 1.0000000 1.50
 0.71500065 1.00000000 0.7150007 1.25
 1.00000000 1.00000000 0.4291953 1.00
 0.65790502 1.00000000 0.6579050 0.75", sep = "", header = TRUE)

data.merge = rbind(data1, data2)
于 2012-04-28T09:23:44.057 に答える