2016-04-04 3 views
-1

Привет Я хочу, чтобы взять среднее из следующего набора данных:Принимая в среднем R

visitor_id 
Chapter_number Time 
1    4   8 
2    4   9 
3    5   1 
4    5   2 
5    6   3 
6    6   4 
7    6   5 
8    6   6 
9    7   7 
10    7   8 

Желаемый результат:

Chapter_number Average_of_time 
4     8.5 
5     ... 
6     ... 
7     ... 

Заранее спасибо

+3

И ... что вы уже пробовали? – KeyWeeUsr

+5

Посмотрите на функцию 'aggregate' в R. – fishtank

+1

. Google для разных неспецифических поисковых терминов, таких как' r average data', отображает несколько ссылок Stackoverflow, отвечая на этот вопрос. Ввод «r average ...» также автоматически предлагает «r среднее по группе». Следовательно, нисходящее движение для абсолютно никаких исследовательских усилий. – thelatemail

ответ

0
visitor_id <- data.frame(Chapter_number=c(4L,4L,5L,5L,6L,6L,6L,6L,7L,7L),Time=c(8L,9L,1L,2L,3L,4L,5L,6L,7L,8L)); 
aggregate(cbind(Average_of_time=Time)~Chapter_number,visitor_id,mean); 
## Chapter_number Average_of_time 
## 1    4    8.5 
## 2    5    1.5 
## 3    6    4.5 
## 4    7    7.5 
1

Мое понимание агрегатный ограничен, это то, как я буду заниматься этим. Там лучшие способы, это просто мое.

x <- data.frame(chapter_number = rep(seq(4,7,1),3),time=seq(1,36,3)) 
x$meantime <- aggregate(x , by = list(Chapter = x$chapter_number),FUN = "mean")$time 
x 
    chapter_number time meantime 
       4 1  13 
       5 4  16 
       6 7  19 
       7 10  22 
       4 13  13 
       5 16  16 
       6 19  19 
       7 22  22 
       4 25  13 
       5 28  16 
       6 31  19 
       7 34  22 
Смежные вопросы