【发布时间】:2015-07-07 02:44:18
【问题描述】:
感谢@Metrics 对原始问题的回答。
我想从两个变量中创建一个线性模型。我的解释变量是时间变量。这是因素,所以我将它转换为 POSIXlt,但是当我这样做时,R 返回了错误
Error in (function (formula, data = NULL, subset = NULL, na.action =
na.fail, : invalid type (list) for variable 'Time2'
如何制作以时间为变量的线性模型?
老问题: 30,000 次观察并在 R 中拟合模型
我有一个包含 36,729 个观察值的数据框。我想制作两个变量的模型,以便我可以使用方程式而不是所有这些数据点。现在让我们简单地寻找一个线性模型。
lm(v2~v1,df)
但是,由于数据帧的大小很大,R(或者我的计算机,也许?)似乎无法处理该命令。运行命令一个小时后,R 仍未完成处理。
我该怎么办?我只需要等待更长的时间吗?有没有办法让数据框的负载更轻?是否有用于大量数据的软件包? (我真的不认为这种规模符合“大量数据”的条件,但对于 R 和/或我的计算机来说,它确实似乎很多。)
【问题讨论】:
-
我刚刚在 30.000 次随机观察中运行了
lm,它在 0.03 秒内完成。您的数据还有什么特别之处吗? -
@Molx 也一样。 0.03 秒用户时间。
-
运行这个:
df <- data.frame(v1=rnorm(36729), v2=rnorm(36729)); system.time(lm(v1~v2, data=df))给我 0.03 秒的用户时间来解决这种规模的问题。您的数据集一定发生了一些特别的事情。 -
可能有助于发布
str(df[c("v1", "v2")])的输出,以便我们查看数据是否有任何问题。
标签: r model large-data