【发布时间】:2015-02-08 05:49:42
【问题描述】:
每个人。
我想要做什么
在 R 中创建一个空的 ff data.frame。
详情
我想在 R 中读取多个 csv 文件,将它们绑定在一起并创建一个大 data.frame。由于数据非常庞大,所以我使用的是 ff 包。
这是我的代码。
file_list = list.files(pattern="*.csv")
library(ff)
for(i in seq_along(length(file_list)){
ffdf <- read.csv.ffdf(x=ffdf, file=file_list[i], header=T)
}
但是,我收到以下错误。
Error in `rownames<-`(x, value) :
attempt to set 'rownames' on an object with no dimensions
我在 Google 和 Stackoverflow 中搜索了错误消息,但没有得到有用的结果。 有谁知道如何处理这个问题?
更新 (15/2/16)
以下代码有效。
library(ffbase)
library(ff)
file_list = list.files(pattern="*.csv")
lst <- lapply(file_list, function(x) read.csv.ffdf(file=x,header=TRUE))
ff1 <- Reduce(function(x,y) ffdfappend(x,y, adjustvmode=F), lst)
一开始lappy排是这样的,没用。
lst <- lapply(file_list, read.csv.ffdf, header=TRUE)
关键是写file=。 ff 函数似乎需要明确指示属性。
(参考:Import text file using ff package)
谢谢大家!
我的环境
- Windows 7 家庭高级服务包 1
- R 工作室 0.98.1091
- R 版本 3.1.2 (2014-10-31)
【问题讨论】:
-
“尝试在没有维度的对象上设置 'rownames'”表示您的 csv 文件中没有任何内容。这种情况下,不要添加数据(ff是大数据,不是无数据)