我正在编写一个需要加权回归的函数。使用weights参数时,我一直收到错误提示。我已经创建了一个最小可重现示例,您可以在此处找到: wt_reg <- function(form, data, wts) { lm(formula = as.formula(form), data =...
对于任意一个函数f <- function(x, y = 3){ z <- x + y z^2 } 我希望能够获取f的参数名称。> argument_names(f) [1] "x" "y" 这是否可能?
我试图回答这个很好的问题,它涉及创建一个非标准的评估函数以对数据表对象进行分组汇总。Akrun提供了一个很棒的答案,我在此简化如下: akrun <- function(data, var, group){ var <- substitute(var) group <-...
我正在编写一个使用tidyverse函数的软件包,也就是使用非标准评估的函数,比如dplyr::filter: setMethod("filter_by_id", signature(x = "studies", id = "character"), ...
我正在尝试创建一个使用ggplot2创建棒棒糖图的函数。我想将所有参数传递到geom_point()中的aes()中,但是我想从传递到geom_segment()中的aes()中排除size参数(如果您查看下面a()的输出,很明显为什么)。因此,我使用rlang::enquos()捕获...,...
考虑在函数内部使用ggplot(...)的情况。 x <- seq(1,10,by=0.1) df <- data.frame(x,y1=x, y2=cos(2*x)/(1+x)) library(ggplot2) gg.fun <- function(){ i=2...
许多具有非标准评估的R函数,例如with,subset和transform,包含以下警告: 对于交互式使用,这非常有效且易于阅读。但是,在编程中,即在一个人的函数中,需要更加小心,通常应避免使用with(),因为数据中的变量可能会意外覆盖局部变量,请参见参考文献。(引用自with的文档,其他...
在一个非常具体的情况下,R语言的行为让我有些惊讶。假设我定义了一个函数square,它返回其参数的平方,就像这样:square <- function(x) { return(x^2) } 我希望在另一个函数内调用此函数,并且在这样做时还要显示其名称。 我可以使用deparse(subs...
有没有编程方式可以判断给定的r函数是否具有标准评估,如果不是,哪个组成部分的函数评估 - 解析、匹配、作用域、承诺形成、承诺实现、返回等 - 是非标准的?我知道闭包可能是标准的,原始函数可能是非标准的,但两者都有例外。我的问题是如何确定函数语义在这些方面是否符合标准,而不是函数机制是否符合标准...
我最近遇到了一些奇怪的 dplyr 行为,其中 summarize 会不停地引用上一个组中的对象。 这里有一个简单的可重现示例来说明这种令人惊讶的行为: library(dplyr, warn.conflicts = FALSE) tibble(x = rep(letters[1:3], ...