如何在R中使用循环粘贴功能(带有“ +”号)

时间:2018-08-02 08:06:44

标签: r

我正在创建一个回归模型,应该使用迭代器。但是我有一些问题 我想将这段代码变成一个循环,但是我不知道该怎么办。

尤其是,我不知道如何在粘贴函数中循环执行“ +”和“,”。请帮助我

**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.")
}

1 个答案:

答案 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

以此类推。