Почему значения для SE_daily
не так ли? Я ожидал, что он округляется до ближайшего целого числа (хотя я и хотел десятичную), вместо этого десятичный ответ полностью ошибочен. Что я упустил?Ошибка округления при группировании по нескольким категориям
csv<-csv%>%group_by(id_num)%>%group_by(Month)%>%group_by(Day)%>%mutate(SE_daily=mean(SelfEsteem, na.rm=T))
head(csv[,c(1:5,28,181)])
> head(csv[,c(1:5,28,181)])
Source: local data frame [6 x 7]
Groups: Day [3]
X.1 X id_num Month Day SelfEsteem SE_daily
<int> <int> <int> <int> <int> <int> <dbl>
1 1 1 29 2 19 4 3.457944 #mean(4,4,3)= 4, expected answer= 3.66666666667
2 2 2 29 2 19 4 3.457944
3 3 3 29 2 19 3 3.457944
4 4 4 29 2 20 4 3.424242 #expected answer= 4
5 5 5 29 2 21 4 3.318182 #expected answer=4
6 6 6 29 2 21 4 3.318182
глава вывода CSV:
structure(list(X.1 = 1:6, X = 1:6,
id_num = c(29L, 29L, 29L, 29L, 29L, 29L),
Month = c(2L, 2L, 2L, 2L, 2L, 2L),
Day = c(19L, 19L, 19L, 20L, 21L, 21L),
SelfEsteem = c(4L, 4L, 3L, 4L, 4L, 4L),
SE_daily = c(3.45794392523365, 3.45794392523365, 3.45794392523365, 3.42424242424242, 3.31818181818182, 3.31818181818182)),
.Names = c("X.1", "X", "id_num", "Month", "Day", "SelfEsteem", "SE_daily"),
row.names = c(NA, -6L),
class = "data.frame")
Не могли бы вы перепечатывать на 'dput' структуры возникает ошибка в его нынешнем виде' ошибка в структуре (список (Х.1 = 1: 6, X = 1: 6, ID_NUM = с (29L, 29L, 29L,: объект 'День' не найден' – OdeToMyFiddle
Чем ks для этого. Не знаю, почему результат был неправильным .... Я сделал 'dput (head (csv))' изначально. Мне пришлось преобразовать его в data.frame, а затем снова запустить его – Rilcon42
Я получаю ожидаемый ответ (не-окруженное среднее каждого «дня»), когда я запускаю свой код в примере данных, который вы предоставили. Также конечный результат 'group_by (id_num)%>% group_by (Month)%>% group_by (Day)' должен группироваться только по 'Day', так как каждая' group_by' переопределяет предыдущую. Если вы хотите группировать все три столбца, выполните 'group_by (id_num, Month, Day)'. – eipi10