DF <- data.frame(id=c(1,1,2,2,3,3,4,4), A = c(1,2,10,4,8,NA,NA,2))
Почему это не работает?:
DF%>%mean(A,na.rm=T)
[1] NA
Warning message:
In mean.default(., A, na.rm = T) :
argument is not numeric or logical: returning NA
А у него работает?:
> mean(DF$A,na.rm=T)
[1] 4.5
glimpse(DF)
Observations: 8
Variables: 2
$ id <chr> "1", "1", "2", "2", "3", "3", "4", "4"
$ A <dbl> 1, 2, 10, 4, 8, NA, NA, 2
Идея позже состоит в том, чтобы mutate () создать новый столбец с среднее для каждого идентификатора.
Best H
EDIT:
Дополнительный вопрос. Спасибо за ответы. Теперь я хочу вычислить среднее значение в каждой группе, но дублирование значений может быть подсчитано только один раз. См. Пример.
Я хочу это:
DF<-data.frame(id=c(1,1,1,2,2,2,3,3,3,4,4,4), A=c(2,2,1,1,2,3,4,4,1,NA,2,2))
> DF
id A
1 1 2
2 1 2
3 1 1
4 2 1
5 2 2
6 2 3
7 3 4
8 3 4
9 3 1
10 4 NA
11 4 2
12 4 2
Чтобы закончить так:
id A mean
1 1 2 1.5
2 1 2 1.5
3 1 1 1.5
4 2 1 2
5 2 2 2
6 2 3 2
7 3 4 2.5
8 3 4 2.5
9 3 1 2.5
10 4 NA 2
11 4 2 2
12 4 2 2