2013-02-27 49 views
0

我试图从一个原始数值空间deliminated文本文件做一个RDATA文件,即原始数据转换文件RDATA文件

11 33 55 
22 33 45 
25 78 00 
44 87 99 .... 

我有另一条R脚本,需要加载这个新的RDATA文件并执行使用mapreduce(rhipe)与数据进行线性回归。因此,当我保存这个RObject我需要读回这样:

data <- strsplit(unlist(map.values)," ") 

#so that I can run regression like: 
y<- unlist(lapply(data,"[[",1)) 
x1<-unlist(lapply(data,"[[",2)) 
x2<-unlist(lapply(data,"[[",3)) 
lm(y~x1+x2) 

我已经尝试了许多方法来我的数据保存到RDATA对象,包括表格,列表和as.character,但非成功所以我可以使用我的上述方法来阅读它。我怎样才能保存我的原始文件,以便我可以用上面的方式阅读它?谢谢。

(PS。因为我是从映射器内部的HDFS文件中读取数据,我不能使用负载/功能函数read.table)

+0

https://github.com/RevolutionAnalytics/RHadoop/wiki/rhdfs有什么用? – mnel 2013-02-27 03:34:07

回答

0

如果我理解正确的话,你希望你的存储对象是一串字符串表格“数字 - 空格 - 数字”。在这种情况下,使用sprintf

foo <- sprintf('%d %d %d',my_data[1,]) 

如创建的第一行的一个例子。运行一个循环或*apply来构建整个阵列。将该字符串数组保存到RData文件中。这应该至少接近你想要的。
注:我认为建议改进数据排序和回归的远端代码是徒劳的吗?

+0

当我使用RHipe阅读我的.RData文件时,我得到如下所示: 文件名是t6�}�����￿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½HN����TFl?ï¿ ½,����5����z��MG6BU����fQ3�Û����Ê'J�@�Óï¿ ½l���n'���d�A�TT�\��!������u�[N�#'X1pA 我错过了什么解码? – 2013-02-27 20:23:23

相关问题