我在一个csv文件snippet of csv file的一列中有一个月份和年份,而另一列中的“ AXA”收盘率是一个数据集。例如,我需要找到2017年的平均关闭率,并将平均关闭率写入带有公司名称(“ AXA”)和年份的新的csv文件中。像上面的例子一样,我需要做很多年才能从2009年到2017年
答案 0 :(得分:0)
根据我对问题的了解,我创建了一个只有两年的可重现示例,我使用lubridate
包处理日期格式
dates <- c('1-1-2009', '1-2-2009', '1-3-2009', '1-4-2009', '1-5-2009', '1-6-2009',
'1-7-2009', '1-8-2009', '1-9-2009', '1-10-2009', '1-11-2009', '1-12-2009',
'1-1-2010', '1-2-2010', '1-3-2010', '1-4-2010', '1-5-2010', '1-6-2010', '1-7-2010',
'1-8-2010', '1-9-2010', '1-10-2010', '1-11-2010', '1-12-2010')
set.seed(42)
prices <- rnorm(24, mean = 300, sd = 15)
library(lubridate)
Axa <- data.frame(dates = dmy(dates), prices = prices)
Axa <- Axa %>% mutate(obs_year = year(dates)) %>% group_by(obs_year) %>%
summarise(prices = mean(prices))
Wich提供以下结果
# A tibble: 2 x 2
obs_year prices
<dbl> <dbl>
1 2009 311.
2 2010 292.
这应该适用于您归档的所有不同年份
对于读写文件,我假设您知道如何使用read.csv
和write.csv