2

我正在尝试输入expss::uselabels().

我正在尝试做的一个简单的可复制示例(没有管道)将是一个标记lm()模型:

图书馆(tidyverse)
图书馆(快递)

df <- mtcars

df <- apply_labels(df,
                  cyl = "气缸数",
                  disp = "位移")

fit_1 <- df %>%
  use_labels(lm(公式 = mpg ~ disp + cyl))
摘要(fit_1)

lm输出中给出标记系数:

# > 系数:
#> 估计标准。误差 t 值 Pr(>|t|)    
#>(拦截)34.66099 2.54700 13.609 4.02e-14 ***
#> 位移 -0.02058 0.01026 -2.007 0.0542 。  
#> `气缸数` -1.58728 0.71184 -2.230 0.0337 *  

我的问题:我可以先拿一个lm()模型然后用管道输入use_labels()吗?我在下面尝试过,但我必须错误地引用这两个参数。

fit_1<- df %>%
  lm(公式 = mpg ~ disp + cyl) %>%
  使用标签(数据 = .x,expr = .y)
4

1 回答 1

1

use_labels以非常简单直接的方式工作。它只是用它们的标签替换表达式中的所有变量名称。在第一个参数(data.frame)中搜索变量。正如@alistaire 已经说过的,所有这些操作都是在评估提供的表达式之前执行的,例如在计算lm(formula = mpg ~ disp + cyl). 因此,您的问题的答案是“否”。您不能应用use_labels已计算的结果。

于 2020-06-21T14:14:56.153 回答