【发布时间】:2014-04-07 19:14:05
【问题描述】:
我想在 win 7 上使用数据结构在 R 中保存数据(双精度)。
但是,数据大小可能为 100k 或更少。我不知道数据的大小。所以,我不能给出数据结构的长度。
我只需要将它们保存在 R 中的数据结构中。
我试过列表,但我得到了:
> x <- list()
> str(x)
> append(x, 10)
[[1]]
[1] 10
> append(x, 50)
[[1]]
[1] 50
> length(x)
[1] 0
我也试过矢量
> y <- vector()
> str(y)
logi(0)
> append(y, 8)
[1] 8
> length(y)
[1] 0
更新
例子,
I have data, 89.601 , 56.302 , 7.231 , ....
我需要从文件中读取它们,然后将它们保存在 R 中的数据结构中,以便我以后可以使用它们。
我还需要用数据做一个qq-plot。列表或向量,哪个更适合绘图?谢谢!
我只想同时优化空间和性能。在 R 中将整个文件加载到 data.frame 中比读取然后逐行处理文件更好吗? 如果整个文件大小有 1.2 亿个数字/字符串怎么办?
任何帮助将不胜感激。
【问题讨论】:
-
您是否尝试创建一个给定长度的列表或向量,并将其所有元素设置为某个默认值?
-
@joran,不,我需要将数字保存到数据结构中。我不知道数据的确切大小。所以,我不能预先定义数据结构的长度。谢谢!
-
在那种情况下,我根本无法理解这个问题。你想用你的示例代码实现什么,它创建一个空向量然后附加一个值(但不保留结果)?
-
数据从何而来?磁盘、数据库等上的文件?
-
一次读取一行文件不是典型的 R 使用模式。 100k 的最大大小并不是很大。使用标准 R 函数可以将这么多数据轻松快速读入内存。如果一次读取一行文件实际上更慢,我不会感到惊讶。