我在R中很新。我有一个名为' dati'的数据框。有2列......第1列"日期" (是日期值),第二个是"值" (浮动值)。 ' DATI'收集7809个元素,以及"日期"价值从1995年到2015年。
如果我打印' dati'它类似于:
"Date" "Values"
1 1995-01-01 7.987
2 1995-01-02 7.944
3 1995-01-03 7.901
...
313 1995-12-29 5.187
...
3033 2006-06-13 6.567
3034 2006-06-14 6.588
...
7809 2015-12-31 6.998
我想通过过滤Date值得到一个只包含元素的子集:我需要在我的子集中收集年份等于' 1995' ...就像这样的记录:
"Date" "Values"
1 1995-01-01 7.987
2 1995-01-02 7.944
3 1995-01-03 7.901
...
313 1995-12-29 5.187
此外,你能为我提供一个for循环来增加日期过滤值吗? 例如,一个用于制作3个循环...在第一个循环中,过滤年份日期值是' 1995',在第二个' 1996'在1997年的第3个'。
请注意,在这两种情况下,子集必须包含两个列值(日期和数字)。
由于
答案 0 :(得分:4)
我们可以尝试subset
subset(dati, format(as.Date(Date),"%Y")==2005)
如果我们尝试对每年的数据进行分组,请尝试split
split(dati, format(as.Date(dati$Date), "%Y"))