`get()`和`UQ()`之间的区别

时间:2017-06-30 13:36:11

标签: r dplyr rlang

我尝试将dplyr的group_by()用于名为(choice)的变量,该变量根据给予Shiny应用程序的输入而变化,并且我这样做&# 39;一直试图使用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

(我实际上并不是在这个确切的结果之后,我只想表现出差异。)

知道我做错了什么吗?

0 个答案:

没有答案