-1

以下に示すようなデータフレームがあります。キータプル ( Parameter, Value) の重複した出現を削除し、最小のものを選択したいと思いますmse

> df
              mse     Parameter Value
    1    25.86760 Training_size   100
    2     8.42944 Training_size   200
    3    58.80860 Training_size   300
    4    34.37760 Training_size   400
    5    99.61530 Training_size   500
    6    19.77290 Training_size   600
    7    24.76670 Training_size   700
    8   587.96900 Training_size   800
    9   538.02500 Training_size   900
    10   60.39630 Training_size  1000
    11  137.07600 Training_size  2000
    12   62.05740 Training_size  3000
    13    8.44762 Training_size   200
    14    8.44610 Training_size   200
    15    8.44871 Training_size   200
    16    8.42939 Training_size   200
    17   11.78550 Training_size   200
    18   11.78520 Training_size   200
    19 1726.44000 Training_size   200
    20 1726.44000 Training_size   200
    21 1726.43000 Training_size   200
    22    8.42939 Training_size   200
    23    8.42942 Training_size   200
    24    8.42939 Training_size   200
    25    8.42938 Training_size   200

代わりに取得したい:

              mse     Parameter Value
    1    25.86760 Training_size   100
    3    58.80860 Training_size   300
    4    34.37760 Training_size   400
    5    99.61530 Training_size   500
    6    19.77290 Training_size   600
    7    24.76670 Training_size   700
    8   587.96900 Training_size   800
    9   538.02500 Training_size   900
    10   60.39630 Training_size  1000
    11  137.07600 Training_size  2000
    12   62.05740 Training_size  3000
    25    8.42938 Training_size   200

これどうやってするの?

4

3 に答える 3

2

aggregateベースで関数を使用する

> aggregate(.~Value+Parameter, data=df, FUN=min)
   Value     Parameter       mse
1    100 Training_size  25.86760
2    200 Training_size   8.42938
3    300 Training_size  58.80860
4    400 Training_size  34.37760
5    500 Training_size  99.61530
6    600 Training_size  19.77290
7    700 Training_size  24.76670
8    800 Training_size 587.96900
9    900 Training_size 538.02500
10  1000 Training_size  60.39630
11  2000 Training_size 137.07600
12  3000 Training_size  62.05740
于 2013-09-02T13:36:40.590 に答える
0

「キータプル ( Parameter, value) の重複を取り除く」という処理は、「最小のものを選ぶ」という処理に含まれていると思いますmse。本当に (私が正しく理解していれば)とmseの一意の組み合わせごとに の最小値を含むデータ フレームを作成したいだけです。(タプルは R で定義されたデータ型ではないことに注意してください。Parametervalue

パッケージはこれplyrに最適です。

require(plyr)
ddply(df, c("Parameter", "value"), summarise, min(mse))
于 2013-09-02T13:36:29.253 に答える