#r #data-conversion
#r #преобразование данных
Вопрос:
Привет, я пытаюсь научиться использовать данные FRED для преобразования ежемесячных и квартальных данных в годовые. Мои данные выглядят так:
Date FEDFUNDS
7/1/2000 6.54
8/1/2000 6.5
9/1/2000 6.52
10/1/2000 6.51
11/1/2000 6.51
12/1/2000 6.4
Ранее, просматривая другие сообщения, я пытался использовать следующее для преобразования ежемесячных данных в ежеквартальные.
library(tidyverse)
data<- read_csv(file.choose())
head(data)
data$Date=as.Date(data$Date, formate="$m/$d/%y")
data<-arrange(data,Date)
library(zoo)
data$qdate<-as.yearqtr(data$Date)
library(date)
data_qrtly<-data %>%
group_by(qdate) %>%
summarise_all(mean)
Но мне трудно использовать «DF» для преобразования ежемесячных или квартальных данных в годовые. Любая помощь будет очень признательна.
Комментарии:
1. Если
x
этоyearqtr
yearmon
объект or, то as.integer(x) — это год, поскольку оба хранятся как год доля года за месяц или квартал.
Ответ №1:
Как вы хотите обобщить полученные данные? Я предполагаю, что вам нужно mean
количество федеральных фондов по годам. Это легко сделать в tidyverse
:
library(tidyverse)
library(lubridate)
test_data <- tribble(~Date, ~FEDFUNDS,
"7/1/2000", 6.54,
"8/1/2000", 6.5,
"9/1/2000", 6.52,
"10/1/2000", 6.51,
"11/1/2000", 6.51,
"12/1/2000", 6.4)
#convert the date into a date type column
#create a new "year" column
test_data %>%
mutate(Date = lubridate::mdy(Date),
year = lubridate::year(Date)) %>%
group_by(year) %>%
summarize(fedfunds_mean = mean(FEDFUNDS))
# A tibble: 1 x 2
year fedfunds_mean
<dbl> <dbl>
2000 6.50
Комментарии:
1. Привет, спасибо, я думаю, это было очень полезно. У меня было два последующих вопроса 1) Я новичок в R, поэтому заранее прошу прощения за глупый вопрос, но как мне использовать tribble для всего моего набора данных, а не указывать отдельные наблюдения? это наблюдение за временными рядами за 30 лет, я понял, что вы сделали с lubridate, но краткое предложение о том, как использовать для всего набора данных, было бы чрезвычайно полезно. 2) Могу ли я в любом случае преобразовать весь столбец new year в набор данных (например, команду write.csv?)
2. @ShaneMurphy 1) я использовал tribble только для создания набора данных toy. Вам нужно будет прочитать набор данных FRED в R с помощью чего-то вроде readr::read_csv или read_tsv, в зависимости от делиметра. Я не знаю, как выглядит ваш источник данных. github.com/business-science/tidyquant и sboysel.github.io/fredr это два пакета, которые вы могли бы использовать для извлечения данных из FRED API. 2) Я не знаю, что вы подразумеваете под «преобразованием в набор данных». write.csv сохраняет фрейм данных (не отдельный столбец) на диск.