您好,
尝试读取R中的大型数据集,控制台显示以下错误:
data<-read.csv("UserDailyStats.csv", sep=",", header=T, na.strings="-", stringsAsFactors=FALSE)
> data = data[complete.cases(data),]
> dataset<-data.frame(user_id=as.character(data[,1]),event_date= as.character(data[,2]),day_of_week=as.factor(data[,3]),distinct_events_a_count=as.numeric(as.character(data[,4])),total_events_a_count=as.numeric(as.character(data[,5])),events_a_duration=as.numeric(as.character(data[,6])),distinct_events_b_count=as.numeric(as.character(data[,7])),total_events_b=as.numeric(as.character(data[,8])),events_b_duration= as.numeric(as.character(data[,9])))
Error: cannot allocate vector of size 94.3 Mb
In addition: Warning messages:
1: In data.frame(user_msisdn = as.character(data[, 1]), calls_date = as.character(data[, :
NAs introduced by coercion
2: In data.frame(user_msisdn = as.character(data[, 1]), calls_date = as.character(data[, :
NAs introduced by coercion
3: In class(value) <- "data.frame" :
Reached total allocation of 3583Mb: see help(memory.size)
4: In class(value) <- "data.frame" :
Reached total allocation of 3583Mb: see help(memory.size)
有谁知道如何阅读大型数据集? UserDailyStats.csv的大小约为2GB。
答案 0 :(得分:13)
不确定
manual for this网站上还有一个R。
答案 1 :(得分:1)
您可以尝试使用read.csv
在colClasses
来电中指定数据类型。
data<-read.csv("UserDailyStats.csv", sep=",", header=T, na.strings="-", stringsAsFactors=FALSE, colClasses=c("character","character","factor",rep("numeric",6)))
虽然使用这样大小的数据集可能仍然存在问题,并且您可能想要进行的任何分析都没有大量内存。添加RAM&amp;使用64位计算可以提供更大的灵活性。
答案 2 :(得分:1)
如果这是从控制台输出然后你读取数据,但转换有问题。
如果您以交互方式工作,则在read.csv
使用save(data, file="data.RData")
保存数据后,关闭R,运行新实例,使用load("data.RData")
加载数据,然后查看是否失败。
但是从这个错误消息中我发现你有转换问题所以你应该看一下。