首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >变量名的r循环运行线性回归模型

变量名的r循环运行线性回归模型
EN

Stack Overflow用户
提问于 2017-09-29 16:15:59
回答 2查看 9.7K关注 0票数 3

首先,我对此非常陌生,所以我的方法/想法可能是错误的,我使用R和R将xlsx数据集导入到数据框架中。我希望能够循环通过列名,以获得所有的变量,其中正好有"10“,以便运行一个简单的线性回归。这是我的密码:

代码语言:javascript
复制
indx <- grepl('_10_', colnames(data)) #list returns all of the true values in the data set
col10 <- names(data[indx]) #this gives me the names of the columns I want

下面是返回错误的for循环:

代码语言:javascript
复制
temp <- c()
for(i in 1:length(col10)){
   temp = col10[[i]]
  lm.test <- lm(Total_Transactions ~ temp[[i]], data = data)
  print(temp) #actually prints out the right column names
  i + 1
}

甚至可以运行一个循环将这些变量放在线性回归模型中吗?我得到的错误是:“model.frame.default中的错误(公式= Total_Transactions ~ temp[i],:变量长度不同(在”temp[i]“中找到)”。如果有人能给我指明正确的方向,我将非常感激。谢谢。

EN

Stack Overflow用户

发布于 2017-09-29 16:44:31

您可以创建一个临时子集,其中只选择在回归中使用的列。这样,您就不需要在公式中插入临时名称。

坚持你的代码,这应该是可行的。

代码语言:javascript
复制
for(i in 1:length(col10)){
 tempSubset <- data[,c("Total_Transactions", col10[i]]
 lm.test <- lm(Total_Transactions ~ ., data = tempSubset)
 i + 1
}
票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46493011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档