找到每12行的平均值,然后将输出写入带有年份和平均值的新的csv文件中

时间:2019-03-13 19:14:53

标签: r data-cleaning

我在一个csv文件snippet of csv file的一列中有一个月份和年份,而另一列中的“ AXA”收盘率是一个数据集。例如,我需要找到2017年的平均关闭率,并将平均关闭率写入带有公司名称(“ AXA”)和年份的新的csv文件中。像上面的例子一样,我需要做很多年才能从2009年到2017年

1 个答案:

答案 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.csvwrite.csv