Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何引用一个表达式,其中包含对quote和unquote字符串的调用?_R_Tidyverse_Rlang_Tidyeval - Fatal编程技术网

R 如何引用一个表达式,其中包含对quote和unquote字符串的调用?

R 如何引用一个表达式,其中包含对quote和unquote字符串的调用?,r,tidyverse,rlang,tidyeval,R,Tidyverse,Rlang,Tidyeval,我想创建一个在dplyr::summary中使用的函数,该函数可以将当前组变量作为字符串检索,然后创建一个表达式来使用该组变量字符串来获取组的当前值 我有一个直接从Summary中调用的工作示例,但未能使函数工作。我正在努力找出它的错误,但我想知道它是否与表达式的解析顺序有关?不过,我对这方面还不太熟悉,所以如果有任何可能的帮助,我将不胜感激 图书馆长廊 图书馆弹琴 得到x组z > >a >2b >3C df%>%组×byx%>% 小结=!!得到你的小组。 >错误!symx:参数类型无效

我想创建一个在dplyr::summary中使用的函数,该函数可以将当前组变量作为字符串检索,然后创建一个表达式来使用该组变量字符串来获取组的当前值

我有一个直接从Summary中调用的工作示例,但未能使函数工作。我正在努力找出它的错误,但我想知道它是否与表达式的解析顺序有关?不过,我对这方面还不太熟悉,所以如果有任何可能的帮助,我将不胜感激

图书馆长廊 图书馆弹琴 得到x组z > >a >2b >3C df%>%组×byx%>% 小结=!!得到你的小组。 >错误!symx:参数类型无效 如果您使用的是rlang,那么应该尽量避免将字符串解析为表达式。考虑GETH组返回已扩展的符号

的适当QuoSe0的替代方案。
get_group <- function(df) {
  group <- group_vars(df)
  quo(unique(!!sym(group)))
}

df %>% group_by(x) %>%
  summarize(z = !!get_group(.))

# # A tibble: 3 x 2
#   x     z    
#   <chr> <chr>
# 1 a     a    
# 2 b     b    
# 3 c     c 

啊哈,这很有道理。我的其他工作也会考虑这个问题,非常感谢。