【问题标题】:Error in as.data.frame.default(data) : cannot coerce class ""formula"" to a data.frameas.data.frame.default(data) 中的错误:无法将“公式”类强制转换为 data.frame
【发布时间】:2018-04-11 15:15:49
【问题描述】:

我不太确定为什么会收到此错误或它的含义。我的数据框称为“数据”。

  library(dplyr)
  data %>%
  filter(Info==1, Male==1) %>%
  lm(CFL_Purchased ~ Male)  %>% 
  summary()

谢谢!

【问题讨论】:

  • 您正在尝试总结一个公式,这是行不通的。您的预期输出是什么?
  • 解释一下,%>% 旨在与将每个结果转发到下一个函数的 first 参数的函数一起使用。 lm 的第一个参数是公式,而不是数据框。因此,您必须使用诸如 . 占位符之类的东西来解决这个问题。
  • 欢迎来到 Stack Overflow @user9631425,希望您能抽出时间来回顾一下How To AskHow to create a Minimal, Complete, and Verifiable example,因为这个问题缺乏细节,我们无法回答。

标签: r dataframe error-handling pipe


【解决方案1】:

这对我有用:

library(dplyr)

dat <- data.frame(x = rnorm(10000, 4, 3),
                  y = rnorm(10000, 2, 2))

dat %>%
  lm(y ~ x,.) %>%
  summary()

Call:
lm(formula = y ~ x, data = .)

Residuals:
    Min      1Q  Median      3Q     Max 
-7.5620 -1.3678 -0.0307  1.3625  8.0371 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 1.952941   0.033064  59.065   <2e-16 ***
x           0.008841   0.006617   1.336    0.182    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.001 on 9998 degrees of freedom
Multiple R-squared:  0.0001785, Adjusted R-squared:  7.852e-05 
F-statistic: 1.785 on 1 and 9998 DF,  p-value: 0.1815

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-20
    • 2021-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多