flybywind rt。 数据行数不多,130多行,但是有20w列。 我已经指定了colClasses,但还是运行超慢。 nrows设为5,都运行好久,一直在running,我都强制终止的。 各位大牛还有什么好方法吗?
nan.xiao 直接 scan() 然后打成矩阵 实测速度还可以 基本上是瞬间完成吧 <br /> x = scan('abc.csv')<br /> y = matrix(x, nrow = 130, byrow = TRUE)<br /> </p>
nan.xiao lm(y ~ . )</p> 不过最小二乘没法算吧。 大 p 小 n 问题正好用线性模型,不过这高维的线性模型一般是需要带惩罚项的。 简单成熟的做法,可以直接用 lasso、elastic-net。变量实在太多可以先用一些 screening 方法粗筛一下变量,再用剩下的变量继续做模型。 建模方面你需要自己研究下,高维这话题太大,一两句不是很好讲清楚。
holydudu 我以前也碰到过类似的到现在没解决,我的问题是要加那么多dummy进去才有上10W列的 这个很奇怪,stata有个areg就能做,R的话我就不清楚怎么弄。也不知道那个stata究竟是怎么算的,顺便求两个都懂的人给个解答
lsxxx2011 个人觉得最快的方法是下载一个RODBC包,具体操作如下: install.packages('RODBC') library(RODBC) data=odbcConnectExcel(file.choose()) #此时会弹出一个窗口,你只需找到你所需的EXCEL数据即可 sqlTables(data) mydat=sqlFetch(data,'Sheet1') #仔细查看你表格Sheet1的名字 attach(mydat)
nan.xiao 回复 第13楼 的 xiekunwhy: 20万个变量做回归其实没有太大必要检验显著性了,因为这一般并不是我们所首要关心的。 想要 p 值也可以,有 covariance test 或 Bayesian Lasso。