根据最后一个反斜杠后的数字寻址某些数字变量

Adress certain numeric-variables depending on number after last backslash

在我的数据框中有一列包含日期。这些日期我已经转换为 DD/MM/YY-notation,现在我想知道我是否可以只处理我框架中的那些行,对于这些行,我的日期的 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 个数据点中),但我猜一旦我理解了如何处理该变量,它就会起作用。

提前感谢您的回答。非常感谢任何帮助。

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

TimeStamp 中提取年份
Example: year(now())
            [1] 2019

我建议使用包 lubridate,因为它具有将时间戳转换为 Date 格式的便捷功能。使用 dmy()(day-month-year 的缩写)转换您的时间戳。下面是一个使用 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)