当前位置:  开发笔记 > 编程语言 > 正文

R通过年份日期值从数据帧过滤中获取子集

如何解决《R通过年份日期值从数据帧过滤中获取子集》经验,为你挑选了1个好方法。

我在R中是个新手。我有一个名为'dati'的数据框,其中包含2列...第一列“ Date”(是Date值),第二列是“ Values”(浮点值)。“ dati”收集了7809个元素,“ Date”值从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值来获得仅包含元素的子集:我需要在我的子集中收集year等于'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循环,在其中增加Date过滤值吗?例如,一个for进行3个循环...在第一个循环中,过滤年份Date值是'1995',在第二个中是'1996',在第三个中是'1997'。

请注意,在两种情况下,子集都必须包含两个列值(日期为数字)。

谢谢



1> akrun..:

我们可以试试 subset

subset(dati, format(as.Date(Date),"%Y")==2005)

如果我们尝试对每年的数据进行子集化,请尝试 split

split(dati, format(as.Date(dati$Date), "%Y"))

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有