私はRで作業しており、次のデータがあります。
data2<- data.frame(region_name = c("West", "West", "East"),
type = c("small", "big", "big"),
beta_rate = 7:9,
gamma_rate = 4:6)
グループ化セットを実行して合計を集計します。
data_i_want <- data2 %>%
as.data.table() %>% groupingsets(
j = .(
beta_total = sum(beta_rate),
gamma_total = sum(gamma_rate)),
by = c("region_name","type"),
sets = list(
c("region_name"),
c("region_name","type"))
)
出力:
地域名 | タイプ | beta_total | gamma_total |
---|---|---|---|
西 | NA | 15 | 9 |
東 | NA | 9 | 6 |
西 | 小さな | 7 | 4 |
西 | 大きい | 8 | 5 |
東 | 大きい | 9 | 6 |
私の質問: グループ化セットをカスタム関数に追加できますか? たとえば、これは私がこれまでに持っているものです:
my_function <- function(data, var1, var2) {
data_final <- data %>%
as.data.table() %>% groupingsets(
j = .(
beta_total = sum({{var1}}),
gamma_total = sum({{var2}})),
by = c("region_name","type"),
sets = list(
c("region_name"),
c("region_name","type"))
)
}
ただし、関数を実行すると:
data_i_want <- my_function(data2, beta_rate, gamma_rate)
次のエラーが表示されます。
[.data.table
(x, 0L, eval(jj), by) のエラー: オブジェクト 'var1' が見つかりません
誰でも助けることができますか?