R语言读取较大的excel文件
展开全文
从miRTarBase数据库上下载了经试验验证的miRNA靶基因信息,.xlsx后缀文件,也就是常说的excel文件,文件大小23.5M。
在使用xlsx包读取该文件时报错:
Error in .jcall('RJavaTools', 'Ljava/lang/Object;', 'invokeMethod', cl, :java.lang.OutOfMemoryError: Java heap space
如字面意思,内存不足,但电脑还有超过3G的内存空间...
方法1:
为其分配更多的内存
/questions/34624002/r-error-java-lang-outofmemoryerror-java-heap-space
使用 options 函数修改设置。注意,该命令需要在加载 rJava 或 xlsx 包之前执行,故推荐重启R,然后运行:
1.options(java.parameters = '-Xmx8000m')
2.truncated zip file怎么解决p_load(xlsx)
此时再读取'.xlsx'文件则不会报错,但是读取文件时仍需要花费大量时间和内存资源,且不一定能顺利解决问题!
方法2:
打开'.xlsx'文件,另存为'.csv'格式,再使用 read.csv 函数进行数据读取!
1.database = read.csv('filename.csv', h = T)
方法3:
使用readxl包中的 read_excel 函数,根据文件名后缀自行判断是 .xlsx 还是 .xls 文件并相应读取:
1.p_load(readxl)
2.read_excel('filename.xlsx', sheet = 1, col_names = T)
相对来说,方法3的执行更简便、速度较快、且占用资源少,推荐使用!
更多实用方法欢迎留言

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。