0
私は、複数年にわたる観測を含む気象データセットを持っています。私がしたいのは、ある年のサブデータセットに私のオリジナルのデータセットを一般的にサブセット化することを可能にする何らかのループを作成することです。dplyrを使用して反復データフレームを作成しますか?
Weather_Dataというデータセットを呼び出してみましょう。ここではいくつかの簡単な例のデータがあります:ループのいくつかの並べ替えを作成しようとして
Weather_Data
Year GPS_Coord
2012 x1
2012 x2
2013 x3
2013 x4
2014 x5
2014 x6
2015 x7
2015 x8
、私はこのようなコードスニペットを開始しました:
Weather_Data_2012<-Weather_Data%>%filter(Year=="2012")
このコードは正常に動作します。ある種のループを作成しようとすると、しかし、私はこのような何かをやってみました:
Year_list<-list()
Year_sub<-as.character(c(2012:2015))
for (i in 1:length(Year_sub)){
Year_list[[i]]<-Weather_Data%>%filter(Year=="i")
}
私はこのコードを実行すると、私はこの出力で終わる:だから
A tibble: 0 × 11
、明確にループは意図したとおりに動作しませんでした!
Year_list[[1]]
Year GPS_Coord
2012 x1
2012 x2
Year_list[[2]]
Year GPS_Coord
2013 x3
2013 x4
Year_list[[3]]
Year GPS_Coord
2014 x5
2014 x6
Year_list[[4]]
Year GPS_Coord
2015 x7
2015 x8
任意のヒント:ここで
は、私はこのコードを経由して達成したい何ですか?ありがとう。
'== Year_sub [iは] '' == "i" 'の代わりに' Year_sub'年リストの 'i'要素にアクセスしてください。 – Lamia
このようなリストを作成する必要がありますか?私は 'group_by(年)'が同じ結果をより簡単に達成するかもしれないと思っています。それは 'dplyr'の各サブセットの分析を行う標準的な方法です。 – Marius
私はMariusに同意します - 既にdplyrを使用していて、 'group_by'機能を持っていれば無意味です。また、 'split(Weather_Data、Weather_Data $ Year)'はパッケージを一切使用しないで意図した結果を得られます。 – thelatemail