【问题标题】:Is there a way to run a regression between 2 variables in different datasets?有没有办法在不同数据集中的两个变量之间进行回归?
【发布时间】:2020-08-04 23:26:13
【问题描述】:

我只是好奇是否有一种方法可以在两个不同的数据集之间运行回归,而无需提取您想要的变量并将它们放入新矩阵中。

如果没有也没关系,但我想可能有办法这样做

【问题讨论】:

  • 您是在问您是否可以做到这一点lm(df$y ~ df$x),或者您是否可以同时将回归模型拟合到df1 中的y ~ xdf2 中的z ~ w?跨度>
  • lm(df$y ~ df$x),如果这个问题不够清楚,我很抱歉
  • 好的 - 所以写fit = lm(df1$y ~ df2$x) 完全没问题(抱歉,我在我的问题中省略了不同的数据框名称)。您无需将它们从各自的数据框中拉出并创建一个新的。
  • 好的,我试过了,有什么原因会导致我收到错误消息:Error in model.frame.default(formula = df2008_only_county$Average Age` ~ : variable lengths different(found for 'df2007_only_county$Total Actual Costs')`
  • 很大程度上是因为下面的答案所说的 - 数据帧必须具有相同的行数,否则模型拟合没有意义 - “对于每个 y,必须有一个匹配的 x,否则试图描述 y 和 x 之间的关系没有任何意义”

标签: r csv dataset regression linear-regression


【解决方案1】:

如果 DF1 和 DF2 是具有相同行数的两个数据框(如果它们的行数不同,则问题没有意义),那么我们可以执行其中任何一个。前 3 个在公式中指定 DF1 和/或 DF2。最后 2 个使用公式 y ~ x 并使用其他方式告诉它在哪里看。

lm(DF1$y ~ x, DF2)

lm(y ~ DF2$x, DF1)

lm(DF1$y ~ DF2$x)  # mentioned in comments under question

# in this one it looks into DF1 first and if not found looks into DF2
with(DF2, lm(y ~ x, DF1))

lm(y ~ x, cbind(DF1, DF2))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-10
    • 2013-04-01
    • 2023-04-09
    • 2020-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多