根据上一个反斜杠后的数字来获取某些数字变量

时间:2019-06-13 22:50:43

标签: r dataframe time backslash

在我的数据框中,我有一列包含日期的列。我已经将那些日期转换为DD / MM / YY表示法,现在我想知道是否只能处理框架中那些日期的YY等于特定数字的行。举例来说,我只想查看年份为18的行,但这包括所有的日和月。示例:

值<-(3,4,5,2)

日期<-(“ 6/7/19”,“ 3/5/18”,“ 12/12/18”,“ 5/2/12”)

框架<-data.frame(值,日期)

现在,例如frame [dates ==“ 3/5/18”,“ values”]会给我4,但我想知道是否可以使用某个命令来定位所有18括号中年份的位置。另外,稍后我想创建一个仅包含指定年份为18的行(在400.000个数据点中)的子帧,但是我猜测一旦我了解了如何解决该变量,该行就会起作用。

感谢提前答复。非常感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

我建议使用软件包lubridate,因为它具有方便的功能,可以将时间戳转换为Date格式。使用dmy()(日-月-年的缩写)来转换时间戳。这是使用dplyr语法的示例:

library(lubridate)
library(dplyr)
DF <- data.frame(
  date = dmy(c("19/01/18", "12/05/18", "30/03/19")),
  dummydata = paste0("dummy", 1:3)
)

DF %>% 
  filter(year(date) == 2018)

答案 1 :(得分:0)

如果没有示例,不确定您的问题到底是什么。如果我理解正确,那么您想从TimeStamp中提取年份,并用它来过滤DataFrame中的行。您可以使用年份从TimeStamp中提取年份。

Example: year(now())
            [1] 2019