使用地图遍历多个变量以在嵌套数据集中回归

yi
  • 我有一个嵌套的数据集,其中每一行在一列中包含一个带有主数据集子集的小标题。
  • 我想对这些子集中的每个子集进行回归分析,并在其中改变因变量。
  • 我构建了一个函数,仅使用一个变量作为因变量。
  • 我正在尝试使用map来遍历多个可能的因变量,但似乎公式未正确解释。
library(purrr)
library(tidyr)
library(rlang)

reg_across_groups <- function(df, var) {

  df <- df %>% 
    nest(data = -c("cyl"))

  var_enq <- rlang::enquo(var)

  model_formula <- formula(paste0(rlang::quo_name(var_enq), "~  hp"))

  df %>% 
    dplyr::mutate(model = purrr::map(data, ~lm(model_formula, data = .x)))
}

# Works
reg_across_groups(mtcars, mpg)
reg_across_groups(mtcars, "mpg")

# Does not work
c("mpg", "wt") %>% 
  map(~ reg_across_groups(mtcars, .))

我收到以下错误消息:

Error in eval(predvars, data, env) : object '.' not found 
阿克伦

我们可以用 ensym

library(dplyr)
library(tidyr)
library(purrr)
 reg_across_groups <- function(df, var) {
  var <- ensym(var)
  df <- df %>% 
    nest(data = -c("cyl"))



  model_formula <- formula(paste0(var, "~  hp"))

  df %>% 
    dplyr::mutate(model = purrr::map(data, ~lm(model_formula, data = .x)))
}





c("mpg", "wt") %>% 
   map(~ reg_across_groups(mtcars, !!.x))
#[[1]]
# A tibble: 3 x 3
#    cyl            data model 
#  <dbl> <list<df[,10]>> <list>
#1     6        [7 × 10] <lm>  
#2     4       [11 × 10] <lm>  
#3     8       [14 × 10] <lm>  

#[[2]]
# A tibble: 3 x 3
#    cyl            data model 
#  <dbl> <list<df[,10]>> <list>
#1     6        [7 × 10] <lm>  
#2     4       [11 × 10] <lm>  
#3     8       [14 × 10] <lm>  



reg_across_groups(mtcars, mpg)
# A tibble: 3 x 3
#    cyl            data model 
#  <dbl> <list<df[,10]>> <list>
#1     6        [7 × 10] <lm>  
#2     4       [11 × 10] <lm>  
#3     8       [14 × 10] <lm>  

reg_across_groups(mtcars, "mpg")
# A tibble: 3 x 3
#    cyl            data model 
#  <dbl> <list<df[,10]>> <list>
#1     6        [7 × 10] <lm>  
#2     4       [11 × 10] <lm>  
#3     8       [14 × 10] <lm>  

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用d3.chart使用嵌套数据制作多个图表

来自分类Dev

使用嵌套数组遍历AngularJS资源

来自分类Dev

在嵌套数据结构上使用Java8流创建地图

来自分类Dev

遍历嵌套数组

来自分类Dev

使用tbl_regression对嵌套数据帧进行多元回归

来自分类Dev

在资源级别使用for / for_each遍历嵌套数据

来自分类Dev

如何使用虚拟变量模拟多个回归分析数据

来自分类Dev

使用嵌套数组对象遍历数组的属性

来自分类Dev

跨多个对象使用地图

来自分类Dev

遍历JObject嵌套数组

来自分类Dev

使用地图从嵌套列表中选择

来自分类Dev

nginx使用地图重定向多个URL

来自分类Dev

使用megaparsec正确解析嵌套数据

来自分类Dev

无法遍历嵌套数组

来自分类Dev

使用JavaScript遍历嵌套数组元素

来自分类Dev

使用地图功能更改数据框的编码

来自分类Dev

使用数据框调用地图功能

来自分类Dev

如何使用javascript正确遍历嵌套数组。

来自分类Dev

使用地图数据突出显示特定国家

来自分类Dev

如何使用d3.chart使用嵌套数据制作多个图表

来自分类Dev

如何遍历嵌套数组?

来自分类Dev

使用地图图钉segue传递自定义数据

来自分类Dev

如何使用SparkR取消嵌套数据?

来自分类Dev

重塑数据集中的多个变量

来自分类Dev

使用 Solr 索引嵌套数据

来自分类Dev

循环遍历对象并使用地图不会返回 jsx

来自分类Dev

使用地图数据从服务器解析 JSON

来自分类Dev

使用 aql 遍历嵌套数组

来自分类Dev

无法使用地图获取 useState 数据