gpt4 book ai didi

r - 将变量向量传递到 lm() 公式中

转载 作者:行者123 更新时间:2023-12-03 06:34:13 26 4
gpt4 key购买 nike

我试图自动化我的一段代码,以便编程变得不那么乏味。

基本上,我试图使用 rms 包中的 fastbw() 逐步选择变量。我想将 fastbw() 选择的变量列表传递到公式中,如 y ~ x1+x2+x3,“x1”“x2”“x3”为由 fastbw()

选择的变量列表

这是我尝试过但不起作用的代码

olsOAW0.r060 <- ols(roll_pct~byoy+trans_YoY+change18m, 
subset= helper=="POPNOAW0_r060",
na.action = na.exclude,
data = modelready)

OAW0 <- fastbw(olsOAW0.r060, rule="p", type="residual", sls= 0.05)

vec <- as.vector(OAW0$names.kept, mode="any")

b <- paste(vec, sep ="+") ##I even tried b <- paste(OAW0$names.kept, sep="+")

bestp.OAW0.r060 <- lm(roll_pct ~ b ,
data = modelready,
subset = helper =="POPNOAW0_r060",
na.action = na.exclude)

我是 R 新手,仍然没有遵循陡峭的学习曲线,因此对明显的编程错误表示歉意。

最佳答案

你就快到了。您只需将整个公式粘贴在一起,如下所示:

paste("roll_pct ~ ",b,sep = "")

使用 as.formula 将其强制转换为实际公式,然后将传递给 lm。从技术上讲,我认为 lm 可能会强制字符串本身,但自己强制通常更安全。 (某些需要公式的函数不会为您进行强制转换,而其他函数则会。)

关于r - 将变量向量传递到 lm() 公式中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9238038/

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