从数据框中为线性回归r选择柱

从数据框中为线性回归r选择柱,r,dplyr,linear-regression,R,Dplyr,Linear Regression,我有一个数据框数据组,我想在因子分析的基础上做一个线性回归。 因子分析将列1:4的变量配对为MR1,列16:20的变量配对为MR2。我想将列1:4设置为自变量,16:20设置为因变量,并尝试了以下代码: mdl <- lm(select(1:4) ~ select(16:20), data=Data_Group_7_8) summary(mdl) 不幸的是,这不起作用。但以下情况确实如此: df2 <- data.frame(x=Data_Group_7_8 %>% se

我有一个数据框数据组,我想在因子分析的基础上做一个线性回归。 因子分析将列1:4的变量配对为MR1,列16:20的变量配对为MR2。我想将列1:4设置为自变量,16:20设置为因变量,并尝试了以下代码:

mdl <- lm(select(1:4)  ~ select(16:20), data=Data_Group_7_8) 
summary(mdl)
不幸的是,这不起作用。但以下情况确实如此:

df2 <- data.frame(x=Data_Group_7_8 %>% select(1:4),y=Data_Group_7_8 %>% select(16:20))

lrm <- lm(x.Themenwelt_1+ x.Themenwelt_2+ x.Themenwelt_3+ x.Product_demonstration ~ y.Inspired_by_1+ y.Inspired_by_2+ y.Inspired_by_3+ y.Inspired_by_4+ y.Inspired_by_5, data=df2)

summary(lrm)

有没有一种方法可以直接从原始数据组中选择变量Themenwelt_1等,就像我在代码1中尝试的那样,而不是从一个新的df中将它们全部相加,因为我必须用这个df进行60种不同的分析。

R允许您使用as.formulastr从字符串构建公式。每一方都必须考虑条款的总和,左侧和右侧需要用瓷砖连接。您可以使用名称获取列的名称,然后只需将它们粘贴在一起,首先是方程的每一侧,使用collapse='+'将字符向量折叠为单个字符串,然后将由平铺分隔的两侧组合在一起。这是内置mtcars数据集的一个示例:

regFormula <- function(dat,range1,range2){
  dat %>%
    select(range1) %>%
    names() %>%
    paste(collapse = ' + ') %>% 
    paste(dat %>% 
            select(range2) %>%
            names() %>%
            paste(collapse = ' + '),
          sep = ' ~ ') %>% 
    as.formula() 
}

regFormula(mtcars,1:3,4:5)
# mpg + cyl + disp ~ hp + drat
# <environment: 0x000000000cf55c90>

您可以直接将其用作线性模型中的公式。

R允许您使用as.formulastr从字符串构建公式。每一方都必须考虑条款的总和,左侧和右侧需要用瓷砖连接。您可以使用名称获取列的名称,然后只需将它们粘贴在一起,首先是方程的每一侧,使用collapse='+'将字符向量折叠为单个字符串,然后将由平铺分隔的两侧组合在一起。这是内置mtcars数据集的一个示例:

regFormula <- function(dat,range1,range2){
  dat %>%
    select(range1) %>%
    names() %>%
    paste(collapse = ' + ') %>% 
    paste(dat %>% 
            select(range2) %>%
            names() %>%
            paste(collapse = ' + '),
          sep = ' ~ ') %>% 
    as.formula() 
}

regFormula(mtcars,1:3,4:5)
# mpg + cyl + disp ~ hp + drat
# <environment: 0x000000000cf55c90>

您可以直接将其用作线性模型中的公式。

lmData\u Group\u 7\u 8[,1:4]~Data\u Group\u 7\u 8[,16:20]?将显示以下错误消息:error in model.frame.defaultformula=Data\u Group\u 7\u 8[,1:4]~Data\u Group\u 7\u 8[,变量“Data\u Group\u 7\u 8[,16:20]”的类型列表无效。lmData\u Group\u 7\u 8[,1:4]~Data_Group_7_8[,16:20]?出现以下错误消息:model.frame.defaultformula=Data_Group_7_8[,1:4]~Data_Group_7_8[,:变量“Data_Group_7_8[,16:20]”的类型列表无效