gpt4 book ai didi

r - 字符串作为 R 公式中的变量引用

转载 作者:行者123 更新时间:2023-12-04 03:09:54 24 4
gpt4 key购买 nike

R新手问题在这里。我有一个名为 dbdata 的列表.通常我这样使用它:

myresults <- rlm(V001 ~ V002+V003, data=dbdata)

但是,我想让这些引用动态化。我需要有这样的东西:
var1 <- "V001"
var2 <- "V002"
var3 <- "V003"
myresults <- rlm(var1 ~ var2+var3, data=dbdata)

我将如何在 rlm() 的上下文中引用变量?我想也许像 eval() ,但这没有用。

谢谢!

最佳答案

一种解决方案是使用 paste() 建立公式并将其转换为公式:

> ## your example plus some dummy data
> var1 <- "V001"
> var2 <- "V002"
> var3 <- "V003"
> dat <- data.frame(V001 = runif(10), V002 = runif(10), V003 = runif(10))
> f <- formula(paste(var1, "~", var2, "+", var3))

现在我们可以看看 f
> f
V001 ~ V002 + V003
> class(f)
[1] "formula"

它确实是一个公式。我们现在可以将其传递给 rlm()作为第一个参数:
> require(MASS)
> mod <- rlm(f, data = dat)
> mod
Call:
rlm(formula = f, data = dat)
Converged in 8 iterations

Coefficients:
(Intercept) V002 V003
0.2725538 -0.1281576 0.1617250

Degrees of freedom: 10 total; 7 residual
Scale estimate: 0.251

HTH

关于r - 字符串作为 R 公式中的变量引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3770589/

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