我非常感谢你有时间阅读这篇文章.
我有一个超大的30GB文件,包含600万条记录和3000条(主要是分类数据)列,采用csv格式.我想引导用于多项式回归的子样本,但即使我的机器中使用64GB RAM并且交换文件的两倍,它也很难实现,这个过程变得非常缓慢并且停止.
我正在考虑在R中生成子样本指标并使用sed或awk将它们输入系统命令,但不知道如何执行此操作.如果有人知道使用R命令干净的方法,我会非常感激.
一个问题是我需要选择子样本的完整观察,即我需要具有特定多项观察的所有行 - 它们从观察到观察的长度不同.我计划使用glmnet然后进行一些花哨的变换来得到多项式的近似值.另一点是我不知道如何选择样本大小以适应内存限制.
非常感谢你的想法.
R.version
platform x86_64-pc-linux-gnu
arch x86_64
os linux-gnu
system x86_64, linux-gnu
status
major 2
minor 15.1
year 2012
month 06
day 22
svn rev 59600
language R
version.string R version 2.15.1 (2012-06-22)
nickname Roasted Marshmallows
Run Code Online (Sandbox Code Playgroud)
尤达
我有数百个字符向量从数据库导入到R中 - 每个向量的长度为6-7百万.它们是数字或因子数据,具有标签的字符(字母) - 要设置的级别,所有因子,都有一些NA.举个例子
vecA <- c("1",NA, "2",....,NA, "100")
vecB <- c("smith", NA, NA, ... , "jones")
Run Code Online (Sandbox Code Playgroud)
有没有一种有效的方法来强制vecA数字和vecB因素.问题是我不知道数据和因子向量在数据中的位置,逐个浏览它们是很繁琐的.
我在R 3.1.2上并希望通过R内的私有ip与websocket进行交互.过去,我尝试过使用websockets包并且遇到了内存/ CPU使用问题并且在几个小时之后崩溃了.
从文档中,我看到它现在已被弃用,建议使用httpuv包.
我正确地读到httpuv是一个websockets服务器而不是R客户端.
是否有任何其他包可用于从内部与websocket交互.
我有一个wget_string和命令如下:
wget_string <- paste("wget --user=" , u_name , " --password=", p_word, " ", my_urls,' -qO ', file_name, sep="")
system(wget_string)
readLines(file_name)
Run Code Online (Sandbox Code Playgroud)
哪个有效,但后来我必须使用readLines()将文件读入R.我想运行该命令,以便该文件直接在R中可用,而不保存到硬盘然后从中加载.
我希望通过从Web上直接将文件加载到R来节省资源.由于安全服务器,无法从头开始使用readlines.有什么选择?
我跑
dir.create('./junk_data')
file.create(paste('./junk_data/QWE',01:12,01:31,2005:2015,'.3',sep=''))
file.create(paste('./junk_data/RTY',01:12,01:31,2005:2015,'.3',sep=''))
Run Code Online (Sandbox Code Playgroud)
并要列出所有文件开始与QWE和结尾用2011.3.我试过了
list.files('./junk_data/',pattern='QWE....2011.3',full.names=T)
Run Code Online (Sandbox Code Playgroud)
和
list.files('./junk_data/',pattern='QWE....2011.3',full.names=T,perl=T)
Run Code Online (Sandbox Code Playgroud)
但我想'.'这并不代表我的想法,因为我没有得到任何我想要的文件.
我尝试了一些关于正则表达式的教程,但没有快乐.