0
dplyrとsummarize_allを使用して加重平均を計算しようとしています。私が最も具体的には、このポスト、同様の質問を見てきました: How do I compute weighted average using summarise_each? 'Not Found' dplyrによって加重平均を計算しようとしているウェイトのエラーsummarize_all
これは非常に単純明快ようだが、私はエラーメッセージが見つかりませんオブジェクトの重み "を得続けます。
data <- tibble::tribble(~group, ~weight, ~x1, ~x2,
1, 1, 3, 2,
1, 1, 4, 7,
1, 1, 1, 4,
2, 1, 2, 2,
2, 1, 5, 3,
2, 1, 4, 2)
# Just regular means
data %>%
dplyr::group_by(group) %>%
dplyr::summarize_all(mean)
# First attempt
data %>%
dplyr::group_by(group) %>%
dplyr::summarize_all(weighted.mean(., weight))
# Second attempt based on syntax from post above
data %>%
dplyr::group_by(group) %>%
dplyr::summarize_all(funs(weighted.mean(., weight)), -weight)
これは私がこのコードを実行したときに何が起こるかです::ここで
は再現例です> data %>%
+ dplyr::group_by(group) %>%
+ dplyr::summarize_all(mean)
# A tibble: 2 x 4
group weight x1 x2
<dbl> <dbl> <dbl> <dbl>
1 1 1 2.666667 4.333333
2 2 1 3.666667 2.333333
>
> data %>%
+ dplyr::group_by(group) %>%
+ dplyr::summarize_all(weighted.mean(., weight))
Error in weighted.mean.default(., weight) : object 'weight' not found
>
> data %>%
+ dplyr::group_by(group) %>%
+ dplyr::summarize_all(funs(weighted.mean(., weight)), -weight)
Error in eval_bare(dot$expr, dot$env) : object 'weight' not found
どれでもなぜこれが起こっているの情報とを、どちらかと言えば、私は約何ができますかそれは非常に感謝しています。
ありがとうございます!
はありがとうございました。私はsummarize_atに慣れていませんが、それは正確です。これらの追加のdplyrコマンドについてもっと知る必要があります。 – msheffer