gpt4 book ai didi

r - 将字符传递给公式

转载 作者:行者123 更新时间:2023-12-02 09:15:58 26 4
gpt4 key购买 nike

我正在做一个聚合:

iris$group <- sample(1:2, 150, T)
aggregate(Sepal.Length ~ Species + group , data = iris, FUN = function(x) c(m = mean(x), n = length(x)))

现在我想用变量替换 group:variable = "group" 聚合应该和上面一样:

iris$group <- sample(1:2, 150, T)    
variable = "group"
aggregate(Sepal.Length ~ Species + variable , data = iris, FUN = function(x) c(m = mean(x), n = length(x)))

但随后发生错误。我尝试使用 eval 但没有帮助。

最佳答案

使用 as.formula(sprintf("Sepal.Length ~ Species + `%s`", variable)) 得到替换了一项的公式。必须注意变量的输入是长度为 1 的字符向量。字符串模板中的反引号会阻止像 variable = "factor(Sepal.Width)" 这样的表达式的计算,如果需要的话可以省略。

如果也可以将 variable = ~... 作为参数,您可以使用 modelr::add_predictors(Sepal.Length ~ Species, variable)组合公式。

关于r - 将字符传递给公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47198135/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com