2017-10-26 5 views
0

私は、GPSカラーで得られた動物の再配置を持つデータフレームを持っています。襟は43日間、動物の上にあった。私は、1日の歩みで動く窓によるモニタリングの合計時間にわたる週間(7days)家庭範囲の進化を評価したいと思う。R:データフレームのサブセットを抽出し、データフレームのリストに格納するウィンドウを移動する

>head(hodor) 
devil  date time    Tfix fixid ttf Northing Easting alt Maxsnr Hdop sat qual temp day 
1 hodor 12/08/2015 14:00 2015/08/12 14:00 21 97  NA  NA 0  0 0.0 0 NO 34.25 1 
2 hodor 12/08/2015 17:00 2015/08/12 17:00 22 97  NA  NA 0  0 0.0 0 NO 34.31 1 
3 hodor 12/08/2015 18:00 2015/08/12 18:00 23 97  NA  NA 0  0 0.0 0 NO 30.37 1 
4 hodor 12/08/2015 19:00 2015/08/12 19:00 24 74 5343138 598559 14  41 1.2 8 3D 21.31 1 
5 hodor 12/08/2015 20:00 2015/08/12 20:00 25 39 5342985 598631 11  39 1.1 10 3D 30.50 1 
6 hodor 12/08/2015 21:00 2015/08/12 21:00 26 39 5342202 598873 4  42 1.3 8 3D 20.25 1 

完全なデータセットは、1052行が含まれ、列「日付が」私は1の値を「日」の列を作成している 43個のレベルがあります。ここでは

は私のデータフレームの最初の行です

df1 <- hodor[(hodor$day >= 1 & hodor$day <= 7),] 
df2 <- hodor[(hodor$day >= 2 & hodor$day <= 8),] 
df3 <- hodor[(hodor$day >= 3 & hodor$day <= 9),] 
... 
df37 <- hodor[(hodor$day >= 37 & hodor$day <= 43),] 
lst <- list(df1, df2, df3, ... , df37) 

をEAを作成せずにそれを行うための簡単な方法があります:43「日付」のレベルに対応

これは私が持っているしたい結果があります手動でch行?

私はデータフレームを分割することに関していくつかの質問を見つけましたが、通常、要因のユニークな値に依存しています。私の場合、抽出された各データフレームは他と重複しています。

はここにあなたの助け

+0

[こちら]で説明したように、最小限の再現性の例を提供してください(https://stackoverflow.com/質問/ 5963269/how-to-make-a-great-r-reproducible-example)を参照してください。 –

+0

申し訳ありませんが、次回に追加することを忘れないでください – user8835247

答えて

0

ありがとうございlapplyでそれを行うための簡単な方法です:

lst <- lapply(1:(max(hodor$day) - 6), function(x) hodor[hodor$day %in% (x + 0:6), ]) 
+0

このエレガントなラインに感謝します。それは完全に動作します。 – user8835247

関連する問題