2

以下に示すように、1000 行を超えるデータ フレームがあります。データを 1m 間隔 (0 ~ 1m、1 ~ 2m など) でビンにサブセット化したいと思います。最小の深さを見つけずにサブセットコマンドを複数回使用してデータを適切なビンに配置することなく、これを行う簡単な方法はありますか?

Temp..ºC. Depth..m. Light  time       date
1     17.31     -14.8   255 09:08 2012-06-19
2     16.83     -21.5   255 09:13 2012-06-19
3     17.15     -20.2   255 09:17 2012-06-19
4     17.31     -18.8   255 09:22 2012-06-19
5     17.78     -13.4   255 09:27 2012-06-19
6     17.78      -5.4   255 09:32 2012-06-19
4

1 に答える 1

4

データ フレームの名前が であると仮定するとdf、次の操作を行います。

split(df, findInterval(df$Depth..m., floor(min(df$Depth..m.)):0))

Depth..m.次に、各要素が特定の 1 m 間隔内の行を含むデータ フレームであるリストを取得します。

ただし、空のビンは削除されることに注意してください。それらを保持したい場合は、cutの代わりに使用できますfindInterval。その理由は、 が整数ベクトルを返し、有効なビンのセットが何であるかを知ることがfindInterval不可能になるためです。split見た値のみを認識し、残りを破棄します。cut一方、レベルとして定義されたすべての有効なビンを持つ因子を返します。

于 2013-03-05T13:25:30.947 に答える