0
足够简单的问题。我有美国国库券利率数据,有两列- 1)日期和2)利率。这些数据的范围可以追溯到1960年。我希望从1990年开始,即根据日期对利率进行分组。如何根据R中的日期子集数据?
代码: -
data = read.csv("3mt-bill.csv")
rates= ?
所以,我只想国库券利率的载体,但是从1990年起。 我该怎么写条件?
足够简单的问题。我有美国国库券利率数据,有两列- 1)日期和2)利率。这些数据的范围可以追溯到1960年。我希望从1990年开始,即根据日期对利率进行分组。如何根据R中的日期子集数据?
代码: -
data = read.csv("3mt-bill.csv")
rates= ?
所以,我只想国库券利率的载体,但是从1990年起。 我该怎么写条件?
我们需要先“日期”转换为Date
类,与format
提取年,检查它是否比1990年更大,子集“价格”基于该逻辑vector
data$Rate[format(as.Date(data$Date), "%Y") >= 1990]
如果“日期”栏只包括一年的部分,很容易
data$Rate[data$Date >= 1990]
以防万一,如果我们需要tidyverse
library(tidyverse)
data %>%
filter(year(ymd(Date)) >= 1990) %>%
select(Rate)
或者使用data.table
library(data.table)
setDT(data)[year(as.IDate(Date)) >= 1990, Rate]
第一个本身工作。万分感谢! – ricksanchez
是否日期列仅包含一年?那么'class(data $ Date)'返回什么? – neilfws
不,日期的格式为dd/mm/year。和类(数据$日期)返回空值。 – ricksanchez
这将有助于查看数据的前几行。 NULL表示没有名为Date的列。 – neilfws