1
爲什麼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'結構有在其當前形式'誤差的誤差在結構(列表(X.1 = 1:6,X = 1:6,ID_NUM = C (29L,29L,29L,: 對象'未找到'日' – OdeToMyFiddle
這就是ks。不知道爲什麼輸出是錯誤的....我原本是'輸入(頭(csv))'。我必須將其轉換爲data.frame,然後重新輸入 – Rilcon42
當我在您提供的數據樣本上運行代碼時,我得到了預期的答案(每個'Day'的未被平均的平均值)。此外,'group_by(id_num)%>%group_by(Month)%>%group_by(Day)'的最終結果是僅由「日」組成,因爲每個「group_by」都會覆蓋前一個。如果您想按三列進行分組,請執行'group_by(id_num,Month,Day)'。 – eipi10