无法在R中将动态变量名称与dplyr一起使用

时间:2020-05-23 18:41:59

标签: r dplyr

我在此website上看到了答案,但是它不能解决我的问题。

我想要在summarize内的LHS和RHS上同时使用动态变量名。

这是显示我尝试过的简单示例:

为什么我不使用paste0('carb')而不直接使用carb的原因是位置(paste0('carb'))是像这样的动态变量paste0('temp', n)n是我的真实情况下的一系列数字。


library(dplyr)
sumay1 <- mtcars %>% group_by(cyl) %>% 
  summarise(!!paste0('carb', 100) := mean(paste0('carb'), na.rm = T))

sumay2 <- mtcars %>% group_by(cyl) %>% 
  summarise(!!paste0('carb', 100) := mean(sym('carb'), na.rm = T))

sumay3 <- mtcars %>% group_by(cyl) %>% 
  summarise(!!paste0('carb', 100) := mean({{paste0('carb')}}, na.rm = T))

1 个答案:

答案 0 :(得分:2)

在第二种情况下,我们需要评估(from matplotlib.ticker import MultipleLocator plt.plot(x,y) #x,y I used are from the question itself. ax= plt.gca() ax.yaxis.set_major_locator(MultipleLocator(7500)) bol {!!

sym

library(dplyr) mtcars %>% group_by(cyl) %>% summarise(!!paste0('carb', 100) := mean(!!sym('carb'), na.rm = TRUE)) # A tibble: 3 x 2 # cyl carb100 #* <dbl> <dbl> #1 4 1.55 #2 6 3.43 #3 8 3.5 主要用于传递未加引号的参数的函数中,它等效于{{}} + enquo

相关问题