我正在尝试将 dplyrgroup_by()
用于名为 ( choice
) 的变量,该变量会根据给 Shiny 应用程序的输入而变化,为此我一直在尝试使用rlang::UQ(choice)
. 尽管它适用于get(choice)
. 这是一个小例子:
DF <- structure(list(Cd_AnoExecucao = c(2016L, 2016L, 2016L, 2016L,
2016L, 2016L, 2016L, 2016L, 2016L, 2016L), Ds_Orgao = c("Instituto de Previdência Municipal de São Paulo",
"Subprefeitura M´Boi Mirim", "Secretaria Municipal de Direitos Humanos e Cidadania",
"Subprefeitura Perus", "Secretaria Municipal dos Negócios Jurídicos",
"Subprefeitura Aricanduva/Formosa/Carrão", "Secretaria Municipal de Direitos Humanos e Cidadania ",
"Companhia Metropolitana de Habitação de São Paulo", "Subprefeitura Parelheiros",
"Subprefeitura Vila Prudente"), Jan_Real = c(0, 29945, 0, 0,
0, 0, 0, 0, 212480, 0), Fev_Real = c(0, 0, 0, 37820.8, 0, 0,
0, 0, 0, 24571.26), Mar_Real = c(0, 0, 0, 36772.7, 0, 0, 0, 0,
0, 0), Abr_Real = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), Mai_Real = c(0,
0, 0, 39783.2, 0, 0, 0, 0, 0, 0), Jun_Real = c(0, 0, 0, 34966.4,
0, 0, 0, 0, 0, 0), Jul_Real = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
Ago_Real = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), Set_Real = c(0,
0, 94600, 0, 0, 0, 0, 0, 0, 0), Out_Real = c(0, 0, 0, 0,
0, 0, 0, 0, 0, 0), Nov_Real = c(0, 0, 0, 0, 0, 0, 0, 0, 0,
0), Dez_Real = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), .Names = c("Cd_AnoExecucao",
"Ds_Orgao", "Jan_Real", "Fev_Real", "Mar_Real", "Abr_Real", "Mai_Real",
"Jun_Real", "Jul_Real", "Ago_Real", "Set_Real", "Out_Real", "Nov_Real",
"Dez_Real"), row.names = c(NA, -10L), class = c("tbl_df", "tbl",
"data.frame"))
和变量:
choice <- "Ds_Orgao"
现在我正在尝试两种方法:
> DF %>% group_by(UQ(choice)) %>% summarise(unique = unique(UQ(choice)))
# A tibble: 1 x 2
`"Ds_Orgao"` unique
<chr> <chr>
1 Ds_Orgao Ds_Orgao
和:
> DF %>% group_by(get(choice)) %>% summarise(unique = unique(get(choice)))
# A tibble: 10 x 2
`get(choice)` unique
<chr> <chr>
1 Companhia Metropolitana de Habitação de São Paulo Companhia Metropolitana de Habitação de São Paulo
2 Instituto de Previdência Municipal de São Paulo Instituto de Previdência Municipal de São Paulo
3 Secretaria Municipal de Direitos Humanos e Cidadania Secretaria Municipal de Direitos Humanos e Cidadania
4 Secretaria Municipal de Direitos Humanos e Cidadania Secretaria Municipal de Direitos Humanos e Cidadania
5 Secretaria Municipal dos Negócios Jurídicos Secretaria Municipal dos Negócios Jurídicos
6 Subprefeitura Aricanduva/Formosa/Carrão Subprefeitura Aricanduva/Formosa/Carrão
7 Subprefeitura M´Boi Mirim Subprefeitura M´Boi Mirim
8 Subprefeitura Parelheiros Subprefeitura Parelheiros
9 Subprefeitura Perus Subprefeitura Perus
10 Subprefeitura Vila Prudente Subprefeitura Vila Prudente
(我实际上并不是在追求这个确切的结果,我只是想展示一下不同之处。)
知道我做错了什么吗?