在循环中粘贴一个字符串

Hea*_*oes 1 string loops r

我正在为循环编写一些代码,我想在循环中粘贴一个字符串.但是,由于某种原因,命令"粘贴"似乎不起作用:

一个简单的例子:

### Creating some variables
test1<-c(1,2,3,4,5,6,7,8,9,10)
test2<-c(4,6,7,2,5,3,6,2,7,1)
test3<-c(3,5,6,7,7,7,7,3,5,3)

### An example of a loop
for (i in 1:2)
{
   name<-paste("test",i,sep="")
   fit <- lm(name~test2+test3)
}
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会这样:

fit <- lm(test1~test2+test3)
Run Code Online (Sandbox Code Playgroud)

但这不是:

fit <- lm(name~test2+test3)
Run Code Online (Sandbox Code Playgroud)

即使粘贴等于test1.

任何帮助将非常感激.理想情况下,我想使用循环而不是应用.

Rol*_*and 5

首先,将您的向量放在data.frame中.其次,在这个例子中你不需要循环.

DF <- data.frame(test1,
                 test2,
                 test3)

fits <- lm(do.call(cbind, DF[, 1:2]) ~ test2 + test3, data=DF)
#Coefficients:
#                  test1       test2     
#(Intercept)   7.655e+00   1.123e-15
#test2        -3.669e-01   1.000e+00
#test3        -1.089e-01   3.594e-17
Run Code Online (Sandbox Code Playgroud)

请注意,结果test2不同,lm(test2 ~ test2 + test3)因为RHS上的响应变量未被删除.