【问题标题】:LInear regression model over different combinations of columns不同列组合的线性回归模型
【发布时间】:2021-08-27 00:43:14
【问题描述】:

我有一些看起来像这样的数据:

         date Moratalaz Cuatro_Caminos Barrio_de_Pilar Vallecas
1  2010-01-01        35             19              23       21
2  2010-01-02        62             40              40       44
3  2010-01-03        76             65              53       55
4  2010-01-04        69             64              52       56
5  2010-01-05        67             52              40       54
6  2010-01-06        48             33              29       37
7  2010-01-07        37             50              28       28
8  2010-01-08        39             37              19       26
9  2010-01-09        47             33              31       33
10 2010-01-10        66             51              41       47

我可以使用以下方法对各个列运行线性回归模型:

  lm(data$Moratalaz ~ data$Cuatro_Caminos)

但是,我想对每个列组合(不包括日期列)运行回归模型

我尝试了类似以下的方法,但无法正常工作:

formula_list <- list(as.formula('data$Moratalaz ~ data$Barrio_de_Pilar'),
                   as.formula('data$Barrio_de_Pilar ~ data$Cuatro_Caminos')
                   )

lapply(formula_list, FUN = lm, data = data)

数据

data <- structure(list(date = structure(c(14610, 14611, 14612, 14613, 
14614, 14615, 14616, 14617, 14618, 14619), class = "Date"), Moratalaz = c(35, 
62, 76, 69, 67, 48, 37, 39, 47, 66), Cuatro_Caminos = c(19, 40, 
65, 64, 52, 33, 50, 37, 33, 51), Barrio_de_Pilar = c(23, 40, 
53, 52, 40, 29, 28, 19, 31, 41), Vallecas = c(21, 44, 55, 56, 
54, 37, 28, 26, 33, 47)), row.names = c(NA, 10L), class = "data.frame")

【问题讨论】:

    标签: r


    【解决方案1】:

    考虑使用

    combn(names(data)[-1], 2, FUN = function(x)
     lm(reformulate(x[1], response = x[2]), data = data), simplify = FALSE)
    

    【讨论】:

    • 我收到以下错误Error in terms.formula(formula, data = data) : se intenta usar un nombre de varible de longitud cero 它试图使用长度为零的变量名。
    • @user113156 虽然它没有给我错误。但是,我认为你的问题是获得所有成对的 lm。我更新了
    • 好的,错误出现在数据的全样本上。
    • 谢谢!就是这样。
    • 还有一个问题,如何将列表名称设置为不同的列名称组合?代码生成公式,我只是在想是否可以将列表名称命名为公式。
    猜你喜欢
    • 2018-03-17
    • 1970-01-01
    • 2020-12-22
    • 1970-01-01
    • 2016-01-15
    • 2019-10-09
    • 2019-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多