我正在创建一个回归模型,应该使用迭代器。但是我有一些问题 我想将这段代码变成一个循环,但是我不知道该怎么办。
尤其是,我不知道如何在粘贴函数中循环执行“ +”和“,”。请帮助我
**R Code**
x <- array(1:(length(cor_test_table)-1))
if(length(cor_test_table)==nrow(Total))
{
print("There are no independent variables that satisfy the correlation
coefficient. Please adjust the correlation coefficient.")
}
if(1==length(cor_test_table)-1) # 1 independent variable
{
lm_var <- paste(x[1])
}
if(2==length(cor_test_table)-1) # 2 independent variable
{
lm_var <- paste(x[1],"+",x[2])
}
if(3==length(cor_test_table)-1) # 3 independent variable
{
lm_var <- paste(x[1],"+",x[2],"+",x[3])
}
if(4==length(cor_test_table)-1) # 4 independent variable
{
lm_var <- paste(x[1],"+",x[2],"+",x[3],"+",x[4])
}else
{
print("There are too many independent variables, five or more. Please
adjust the correlation coefficient.")
}
答案 0 :(得分:2)
对此应归功于Rui Barradas,但他并没有将其作为答案。
可以使用as.formula(response ~ paste(x, collapse = " + "))
生成公式
其中x是要包含的术语的字符向量。
请注意,您还可以按如下所示专门指定公式
data(mtcars)
summary(lm(mpg ~ ., data = mtcars)) #regresses mpg on all other variables
summary(lm(mpg ~ . - gear, data = mtcars)) # regresses mpg on all other variables EXCEPT gear
以此类推。