我有大约1500个csv文件,我想加载到我的Rstudio。我将逐一使用rbind()每个csv文件。 (使用for循环)我预测总估计行数为160万。然后我想将完成的数据框加载到mySQL服务器。那么数据框中可能有160万行数据吗?
答案 0 :(得分:6)
我将逐个使用rbind()每个csv文件。 (使用for循环)
这是一个坏主意,因为在{R rbind
中迭代调用增长的对象非常慢(有关详细信息,请参阅the second circle of the R inferno)。您可能会发现读取所有文件并将它们合并到rbind
的单个调用中会更有效:
do.call(rbind, lapply(file.list, read.csv))
数据框中是否有160万行数据?
你可以很容易地找到:
dat <- data.frame(X=rep(0, 1600000))
str(dat)
# 'data.frame': 1600000 obs. of 1 variable:
# $ X: num 0 0 0 0 0 0 0 0 0 0 ...
您不仅可以初始化160万行的数据框,而且可以在0.1秒内完成(在我的机器上)。