0

私は確かに私の質問を明確に定式化することを願っています..だから、私はRで特定のdfを分割しようとしています.

「data.frame」: 36993 obs。n 個の変数:
$ klasse : num 1 1 1 1 1 1 1 1 1 ...
$ Start_time: chr "23:56:09.000" "23:56:09.000" "23:56:09.000" "23:56 :09.000" ...
$ Start_date: Date, format: "2013-08-31" "2013-08-31" "2013-08-31" "2013-08-31" ...
$ Milk: num 23.5 23.5 23.5 23.5 23.5 23.5 23.5 23.5 23.5 23.5 ...
$ duur_visit: num 1048 1048 1048 1048 1048 ...

今、私がやろうとしているのは、df $ klasse の 120 個の観測の一部に df を分割することです。これには、異なる長さの 39 個の異なる要素が含まれています (たとえば、1 = 1048 個の観測点、2 = 239 個の観測点など)。さらに、df$klasse の新しい要素ごとに毎回 1 から始まるこれらのグループに番号を付けたいと思います。

私は初心者であり、最も遠いのは、パッケージストリンガーを使用する必要があるかもしれないことを知ることでしたが、よくわかりません. または、lapply と組み合わせて関数 split を使用します。変数の分割とグループ化のトピックに関する情報が非常に多く、迷ってしまいました。誰かが私を助けてくれたり、正しい方向に向けてくれたりしたら、とても感謝しています.

編集

@shadow のコードは正しい方向にあるように見えますが、120 回の観測が「外れた」時点でデータセットがカットされます。 :

> within df
klasse  grp   Start_time
1        1     2013-08-31 02:54:35.000
1        1     2013-08-31 02:54:35.000
1        2     2013-08-31 02:54:35.000
1        2     2013-08-31 02:54:35.000
1        3     2013-08-31 02:54:35.000
2        1     2013-08-31 08:36:13.000
2        1     2013-08-31 08:36:13.000
2        2     2013-08-31 08:36:13.000
2        2     2013-08-31 08:36:13.000
2        3     2013-08-31 08:36:13.000
2        3     2013-08-31 08:36:13.000
2        4     2013-08-31 08:36:13.000
3        1     2013-09-01 15:01:40.000
3        1     2013-09-01 15:01:40.000
4        1     2013-09-01 23:51:54.000

もちろん、グループごとに2つの数字に短縮しました。そうしないと、大きくなりますが、実際にはグループの列には、数字の1、2などの最大120倍のグループが必要です。少しクリアできたかな。

編集2

ええ、今朝もう一度実行しましたが、@shadow のソリューションは正常に動作します! 昨日何を間違えたのかわかりません。

4

2 に答える 2