【问题标题】:Manipulate data before running a linear regression在运行线性回归之前处理数据
【发布时间】:2014-04-24 20:39:59
【问题描述】:

我的数据如下所示:

example <- structure(list(ID = structure(c(1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 
3L), .Label = c("A1", "A2", "A3"), class = "factor"), y = c(44.1160205053166, 
33.0574407376116, 50.5295183433918, 44.1160205053166, 33.0574407376116, 
50.5295183433918, 44.1160205053166, 33.0574407376116, 50.5295183433918
), day = structure(c(1392647220, 1392733620, 1392820020, 1392647220, 
1392733620, 1392820020, 1392647220, 1392733620, 1392820020), class = c("POSIXct", 
"POSIXt"), tzone = ""), P = c(16.345885329647, 6.21615618292708, 
9.89848991157487, 14.4955473870505, 8.47820783441421, 2.36668747442309, 
10.4325918923132, 9.26802998466883, 14.8380589560838), o = c(25.6364896567538, 
10.5067015672103, 12.0306829502806, 25.6364896567538, 10.5067015672103, 
12.0306829502806, 25.6364896567538, 10.5067015672103, 12.0306829502806
)), .Names = c("ID", "y", "day", "P", "x"), row.names = c(NA, 
-9L), class = "data.frame")

我想在第 1 天、第 2 天和第 3 天对 P 进行 Y 回归。即

y ~ p[1] + p[2] + p[3] + x

这样做的最佳方法是什么?在运行lm 之前,我是否需要使用这些变量创建一个新的数据框?还是有更好的办法?

谢谢!

【问题讨论】:

  • 您能否提供更多详细信息。 “在第 1 天、第 2 天和第 3 天对 P 进行 Y 回归”到底是什么意思?您的意思是使用日期作为指标变量吗?
  • 我正在尝试提供一个更好的数据示例。假设我有 3 个人“A1”、“A2”、“A3”。对于他们中的每一个,我看到和结果“y”,不会随着时间“X”而改变,而 P.P 会随着时间而改变,假设我有 3 天。将其编写为代码时遇到麻烦。希望现在更有意义

标签: r regression lm


【解决方案1】:

lm函数中使用substet参数

lm(Y ~ P, data=df, subset=df$P %in% 1:3)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-08
    • 2020-07-12
    • 2018-07-12
    • 2015-05-21
    • 2019-12-29
    • 1970-01-01
    • 2021-07-20
    • 2019-07-07
    相关资源
    最近更新 更多