1
なぜSE_daily
の値が間違っていますか?私はそれが最も近い整数に丸められることを期待しましたが(小数点が欲しかったのですが)、小数点の答えは完全に間違っています。私は何を取りこぼしたか? CSV出力の複数のカテゴリでグループ化するときの丸め誤差
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
ヘッド:
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、: オブジェクト 'Day' not found ' – OdeToMyFiddle
よりそれのためのks。なぜ出力が間違っていたのか分かりません....私は元々 'dput(head(csv))'をしました。私はそれをdata.frameに変換してから再度入力しなければならなかった – Rilcon42
あなたが提供したデータサンプルであなたのコードを実行すると、期待される答え(各 'Day'の丸められていない平均)が得られます。 'group_by(id_num)%>%group_by(Month)%>%group_by(Day)'の最終結果は、各 'group_by'が前の値を上書きするので、' Day'だけをグループ化することです。 3つの列すべてでグループ化する場合は、 'group_by(id_num、Month、Day)'を実行します。 – eipi10