JSTOR中的内存和优化问题';s XML大循环

JSTOR中的内存和优化问题';s XML大循环,r,xml,performance,loops,jstor,R,Xml,Performance,Loops,Jstor,当我翻阅20多万份JSTOR数据文件进行研究时,我的记忆力和优化能力都有问题。这些文档是xml格式的。更多信息可在此处找到: 在代码的第一步中,我以以下方式将xml文件转换为整洁的数据帧: 变换使用赋值避免循环中对象的增长df2[i,]使用赋值避免循环中对象的增长df2[i,]内存是否用完?你有没有试过你的代码,看看到底是什么在占用时间?你能把问题分成更小的任务,然后在最后合并吗?一般来说,一次只增长一行data.frame是非常低效的。通常问题是时间,但我已经用光了一两次RAM。我没有试过分

当我翻阅20多万份JSTOR数据文件进行研究时,我的记忆力和优化能力都有问题。这些文档是xml格式的。更多信息可在此处找到:

在代码的第一步中,我以以下方式将xml文件转换为整洁的数据帧:




变换使用赋值避免循环中对象的增长
df2[i,]使用赋值避免循环中对象的增长
df2[i,]内存是否用完?你有没有试过你的代码,看看到底是什么在占用时间?你能把问题分成更小的任务,然后在最后合并吗?一般来说,一次只增长一行data.frame是非常低效的。通常问题是时间,但我已经用光了一两次RAM。我没有试过分析。我会的。至于较小的任务,不知道如何做。看看你是否可以分块运行。1000-2000将是一个不错的数字。最终将有两个绑定行。一个用于块,稍后用于块。您还可以使用包
jstor
:该包经过优化,以使导入尽可能平滑和快速。免责声明:我是该软件包的作者。什么是
Transformar
?您只显示
变换
。另外,请说明我已经尝试过rbind和bind行。目前尚不清楚如何使用
df2[i]发出警告,您的内存是否用完了?你有没有试过你的代码,看看到底是什么在占用时间?你能把问题分成更小的任务,然后在最后合并吗?一般来说,一次只增长一行data.frame是非常低效的。通常问题是时间,但我已经用光了一两次RAM。我没有试过分析。我会的。至于较小的任务,不知道如何做。看看你是否可以分块运行。1000-2000将是一个不错的数字。最终将有两个绑定行。一个用于块,稍后用于块。您还可以使用包
jstor
:该包经过优化,以使导入尽可能平滑和快速。免责声明:我是该软件包的作者。什么是
Transformar
?您只显示
变换
。另外,请说明我已经尝试过rbind和bind行。尚不清楚如何不使用
df2[i]发出警告,谢谢。我通常选择循环而不是应用。我认为我应该反过来做。有没有办法用Lappy跟踪代码?类似于打印转换文件的百分比…您可以使用匿名或定义的函数扩展
lappy
中的函数:
lappy(文件,函数(f){df谢谢。我通常选择循环而不是应用。我相信我应该用另一种方法。有没有办法用lappy跟踪代码?比如打印转换文件的百分比…你可以用匿名或定义的函数扩展
lappy
中的函数:
lappy(文件,函数(f){df
TransformFiles <- function (pathFiles)
    {
        files <- list.files(pathFiles, "*.xml", full.names = TRUE)
        df_list <- lapply(files, Transform)

        final_df <- do.call(rbind, unname(df_list))

        # ALTERNATIVES FOR POSSIBLE PERFORMANCE:

        # final_df <- data.table::rbindlist(df_list)
        # final_df <- dplyr::bind_rows(df_list)
        # final_df <- plyr::rbind.fill(df_list)
    }