将原始数据文件转换为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。我不能使用load / read.table函数,因为我正在读取映射器内的HDFS文件)
如果我正确地理解了你,你希望你的存储对象是一串形式为“number - space - number”的字符串。 在这种情况下,请使用sprintf
foo <- sprintf('%d %d %d',my_data[1,])
作为创建第一行的示例。 运行循环或*apply
来构建整个数组。 将该字符串数组保存到RData
文件中。 这应该至少接近你想要的。
注意:我认为建议改进数据排序和回归的远端代码是徒劳的吗?