使用Java创建R数据框并将其保存到.Rdata文件的最有效和最简单的内存方法是什么(是的,我知道它们有时是互斥的)?
不过,别对我太苛刻,我不是Java开发人员。
发布于 2011-02-01 00:46:36
如何使用structure()构建文本数据文件并使用dget()检索它
data.frame(x= 1:5, y= as.factor(1:5), z= as.character(1:5))产生与以下内容相同的结果:
structure(list(x = 1:5, y = structure(1:5, .Label = c("1", "2",
"3", "4", "5"), class = "factor"), z = structure(1:5, .Label = c("1",
"2", "3", "4", "5"), class = "factor")), .Names = c("x", "y",
"z"), row.names = c(NA, -5L), class = "data.frame")它本身的内存效率不高,但您可以更好地控制数据类型。在R中,您可以使用dput()显示上述长格式的数据帧,并使用dget()从文本文件中检索它,而且从Java语言编写它应该不需要太多的解析。
发布于 2010-11-01 01:56:05
这可能有点夸大其词,但rJava/JRI (http://rosuda.org/rJava/)为R提供了一个Java API。基本上,您可以从Java代码中以编程方式控制一个R进程,很明显,您可以通过R调用共享数据和创建一个.RData文件。
发布于 2010-12-24 00:10:32
我的第一个倾向是在MySQL中抛出东西,但是如果这些文件本质上是临时的,那么创建表等的开销可能就没有意义了。
我同意其他人的观点,如果你想从Java运行R,rJava是可行的,但是这个解决方案看起来有点笨拙。
与CSV文件的简单性类似,但是使用像NetCDF http://en.wikipedia.org/wiki/NetCDF这样的可移植数据格式如何?它们应该更好地保留数据格式,并且可以从Java ( http://www.unidata.ucar.edu/software/netcdf-java/ )、R( http://cran.r-project.org/web/packages/RNetCDF/ )甚至GDAL访问。
(我的天文背景迫使我也不得不提到FITS作为一种选择。)
https://stackoverflow.com/questions/4056330
复制相似问题