我有大约1500个csv文件,我想加载到我的Rstudio.我将逐一使用rbind()每个csv文件.(使用for循环)我预测总估计行数为160万.然后我想将完成的数据框加载到mySQL服务器.那么数据框中可能有160万行数据吗?
我将逐一使用rbind()每个csv文件.(用于循环)
这是一个坏主意,因为rbind在R中增加具有迭代调用的对象非常慢(有关详细信息,请参阅R inferno的第二个圆圈).您可能会发现读取所有文件并在一次调用中将它们组合起来更有效rbind:
do.call(rbind, lapply(file.list, read.csv))
Run Code Online (Sandbox Code Playgroud)
是否有可能在数据框中拥有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 ...
Run Code Online (Sandbox Code Playgroud)
您不仅可以初始化160万行的数据帧,而且可以在0.1秒内完成(在我的机器上).