r - 如何在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.")
}
解决方案
这应该归功于 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
等等。
推荐阅读
- graphql - 在自定义 GraphQL 服务器中返回查询计划和跟踪
- javascript - 替换/更新与传入数组匹配的现有对象数组
- reactjs - 一次性传递整个 json 类对象以将组件作为道具而不是单个道具进行反应
- reactjs - 如果没有 cookie,则 Next.js 重定向
- azure - 如何在 azure devops 中使用 nuget 包?
- c# - Oxyplot 应用程序 - 在 xaml 文件中找不到引用错误
- file - CMD 命令 - 输出到文件 - 无法正常工作
- javascript - 如何控制 react-bootstrap-table-next 中的布尔字段
- docker - docker 中 cassandar 中的 COPY 命令返回错误;无法导入 0 行:IOError - 无法打开“fma_dataset.csv”进行阅读:找不到匹配的文件
- python - VS code Pygame 不加载 mp3 音乐