Как взять среднее значение каждого года? - PullRequest
0 голосов
/ 07 июня 2019

У меня есть данные, содержащие показатели концентрации углерода и азота разных лет. Он имеет много разных мер для каждого года. Я хотел бы получить среднее значение C и N для каждого года, чтобы я мог построить график изменения по годам.

Я пробовал разные рекомендованные функции, но никогда не смогу заставить мой код работать ..

введите описание изображения здесь

Ответы [ 2 ]

0 голосов
/ 13 июня 2019

Если вы привыкли к sql, то sqldf также добивается цели.

sqldf("Select Year, AVG(C), AVG(N) FROM ad GROUP BY Year")
0 голосов
/ 10 июня 2019

Вы можете использовать функцию dplyr summarise_all для этого.Вы можете попробовать что-то вроде этого:

ad <- data.frame(year = rep(2009:2012, 15), C = sample(-100:100, 60), N = sample(-100:100, 60))

> head(ad)
  year   C   N
1 2009   0  49
2 2010  44  94
3 2011 -81 -84
4 2012 -43  55
5 2009 -64  14
6 2010 -62  31


library(tidyverse)
ad%>%group_by(year)%>%
  summarise_all(funs(mean))

# A tibble: 4 x 3
   year      C      N
  <int>  <dbl>  <dbl>
1  2009  -1.2  10.9  
2  2010   1     3.27 
3  2011  -1.87  0.667
4  2012 -11.1  -9.73 
...