加快 R 中固定宽度格式表的导入速度

2023-12-30

我正在从 R 中的固定宽度格式 .txt 文件导入表格。 该表大约有 100 个观测值和 200000 行(下面几行)。

11111 2008  7 31 21 2008  8  1 21 3  4  6 18 4    7 0 12 0  0 0 0 0 1 0 0 0 0 0 0 0      5 0 0 7   5 0 1 0  2 0   0 0  0 0 0  2 0 0    0.0 5  14.9 0  14.9 0  14.0 0  16.5 0  14.9 0  15.6 0  15.3 0 0  15.6 0  15.6 0  17.6 0  16.1 0 17.10 0 1  97 0  0.60 0 1  15.1 0  986.6 0 1002.9 0  7 0  0.2 0
11111 2008  8  1  0 2008  8  1  0 4  7  6 18 4 98 0 1  9 0  0 0 2 0 1 0 0 0 0 0 0 0      5 0 0 7 0 0 0 1 0  2 0 260 0  1 0 0  2 0 0    0.0 5  14.4 0  14.4 0  13.0 0  14.9 0  14.9 0  15.2 0  14.6 0 0  15.2 0  14.8 0  16.1 0  15.7 0 16.10 0 1  93 0  1.20 0 1  14.1 0  986.1 0 1002.4 0  7 0  0.5 0
11111 2008  8  1  3 2008  8  1  3 5 10  6 18 4 98 0 1  3 0  0 0 1 0 0 0 0 0 0 0 0 0      5 0 0 7   5 0 1 0  2 0 200 0  1 0 0  4 0 0    0.0 5  25.8 0       7  14.4 0  26.0 0  26.0 0  19.8 0  17.0 0 0  19.8 0  15.2 0  20.1 0  20.1 0 17.10 0 1  74 0  6.00 0 1  15.1 0  984.5 0 1000.6 0  8 0  1.6 0
11111 2008  8  1  6 2008  8  1  6 6 13  6 18 4 98 0 1  7 0  6 0 1 0 0 0 1 0 0 0 0 0 1000 0 1 0 7   5 0 1 0  2 0 230 0  2 0 0  8 0 0    0.0 5  36.0 0       5       5  40.0 0  36.0 0  23.7 0  17.4 0 0  23.7 0  19.8 0  24.6 0  24.0 0 14.80 0 1  51 0 14.50 0 1  12.8 0  983.9 0  999.7 0  6 0  0.6 0
11111 2008  8  1  9 2008  8  1  9 7 16  6 18 4 96 0 0  9 0  9 0 0 0 0 0 2 0 0 0 0 0 1200 0 0 0 7   5 0   7 95 0 300 0  3 0 0 13 0 0    0.0 5  23.5 0       5       5  43.8 0  23.6 0  19.6 0  17.3 0 0  19.6 0  19.6 0  26.0 0  19.8 0 17.90 0 1  79 0  4.90 0 1  15.8 0  981.9 0  997.9 0  8 0  2.0 0

现在,我使用以下代码导致加载时间相当长(大约 1 分钟):

col_width <- c(5,5,3,3,3,5,3,3,3,2,
           3,3,3,2,3,2,2,3,2,3,
           2,2,2,2,2,2,2,2,2,2,
           2,5,2,2,2,2,2,2,2,2,
           2,3,2,4,2,3,2,2,3,2,
           2,7,2,6,2,6,2,6,2,6,
           2,6,2,6,2,6,2,2,6,2,
           6,2,6,2,6,2,6,2,2,4,
           2,6,2,2,6,2,7,2,7,2,
           3,2,5,2)

df.h.tomsk <- read.fwf(path, 
                       widths=col_width, 
                       header=FALSE, 
                       sep="\t", 
                       nrows=200000, 
                       comment.char="",
                       buffersize=5000)

有什么建议可以加快这一进程吗? 例如,是否有类似 fread from data.table 的东西可以使用 fwf 格式?


你有没有尝试过使用fread of library(data.table)?请复制粘贴文件的某些行进行检查...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

加快 R 中固定宽度格式表的导入速度 的相关文章

随机推荐

  • 在 VS2012 中发布构建事件..运行批处理文件

    我正在尝试在 Visual Studio 中的构建后事件中运行批处理文件 推荐我们可以在 Visual Studio 中的构建后事件命令行中执行 bat 文件吗 https stackoverflow com questions 14913
  • FBAudience Network 作为框架集成

    我正在将 Facebook Audience Network 集成到插页式和奖励类型的广告中 我正在尝试将其集成为框架而不是项目中 当我尝试通过测试用例测试它时 它在这一行之后失败 self fbInterstitialAd FBInter
  • Python中N-Gram、tf-idf和Cosine相似度的简单实现

    我需要比较存储在数据库中的文档并得出 0 到 1 之间的相似度分数 我需要使用的方法必须非常简单 实现普通版本的 n gram 可以定义使用多少克 以及 tf idf 和余弦相似度的简单实现 有什么程序可以做到这一点吗 或者我应该从头开始写
  • DrawUserPrimitives无效操作异常

    我试图在 XNA 中使用以下代码绘制一个三角形 VertexPositionColor vertices new VertexPositionColor 3 vertices 0 Position new Vector3 0 5f 0 5f
  • 动画 UIView 过渡,例如将点扩展为圆圈

    在我的 iPhone 应用程序中 我需要实现不同类型的转换 那是 从当前视图打开下一个视图 它像一个点 并且点像一个圆圈一样慢慢扩大 在圆圈中下一个视图将部分显示 最后圆圈完全扩大 下一个视图完全显示 我搜索了很多像 CATransitio
  • 插入sql数据库时处理大量数据

    在我的代码中 用户可以上传一个 Excel 文档 希望包含其电话联系人列表 作为开发人员 我应该读取该 Excel 文件 将其转换为数据表并将其插入数据库 问题是 一些客户有大量的联系人 比如 5000 个甚至更多的联系人 当我尝试将这么多
  • 使用 COALESCE 函数在变量中附加消息

    下面是我的代码 DECLARE msg NVARCHAR MAX NULL WITH CTE AS SELECT A AS Message UNION SELECT B AS Message UNION SELECT C AS Messag
  • GCC 对弱 const 变量的优化错误

    我有一种奇怪的感觉gcc处理事情时的行为弱常量变量在不同的优化级别 即 O0 or O1 这是代码 def h 声明 const int var int copy int do copy void weak c weak var定义 do
  • SQL Server 2005,批量更新或插入

    我正在寻找一种解决方案来执行插入 重复键更新等 SQL Server 2005 中的操作 此操作可能会插入或更新大量条目 SQL Server 2008 有一个简洁的 MERGE 操作 可以完美地完成此操作 问题是我们只能使用 SQL Se
  • node.js:从标准输入读取同步?

    是否可以从node js中的stdin同步读取 因为我正在用 JavaScript 编写一个 Brainfuck 的 JavaScript 编译器 只是为了好玩 Brainfuck支持需要同步实现的读操作 我试过这个 const fs re
  • AJAX 请求中的内容类型和数据类型是什么?

    POST 请求中的内容类型和数据类型是什么 假设我有这个 ajax type POST url v1 user datatype application json contentType text plain success functio
  • 如何使用 C/C++ 获取数字锁定状态?

    我读过 Gdk 论坛链接 上面说从 3 0 版本开始就实现了获取 num lock state api 但我使用的是 2 4 版本 无法更新到 3 0 版本 因为我需要支持较低的 Linux 版本 这是讨论链接 http mail gnom
  • 如何为列表的每个索引评分

    def voting borda rank ballots list of list of str gt tuple of str list of int 该参数是一个 4 元素列表的列表 表示单个选区的排名选票 The 博尔达伯爵 htt
  • 内核模块与用户空间程序通信的最佳方式是什么?

    这个问题看起来很简单 但我想发送一个事件来通知我的用户空间程序模块缓冲区已准备好读取 例如 我的内核模块中有一个缓冲区 其数据将由用户空间程序消耗 如果所有数据都被消耗 内核模块必须在新数据到达时通知我的程序 这是生产者 消费者的典型问题
  • 验证字母输入上的文本

    任何人都在 TextBox 上使用 AngularJS 验证 这样就只能输入字母了 取决于你想要什么 字母和空格 ng pattern a zA Z s 字母无空格 ng pattern a zA Z
  • Dropzone:防止 addfile 两次

    我正在使用 dropzone 将图像上传到图库 我通过按钮提交 是否可以防止两次添加相同的文件 我不太确定是否检查名称或名称和尺寸 这是我的代码
  • EF Model First 的 1:1 关系问题

    我正在尝试使用 EF 开发一个模型优先的应用程序 我尝试了一切方法来实现分表模式和 1 1 关系 但看起来 EF 不允许我这样做 假设我确实使用 Model First 有没有一种方法可以建立 1 1 关系 而不会弄乱生成的文件和 EF 带
  • 调试时 msvsmon.exe 崩溃

    当我在 VS 2013 update 3 中调试时 msvsmon exe 在遇到断点时崩溃 它显示 调试器的工作进程 msvsmon exe 意外退出 调试将中止 我没有使用远程调试 是否可以关闭 msvsmon exe 以避免在调试时调
  • 如何改变点图的形状?

    我有一个具有以下基本结构的数据文件 Type Tm A 1 A 2 A 3 B 3 B 3 C 1 C 1 C 2 我正在使用它制作点图 ggplot data df aes x Tm fill Type geom dotplot binw
  • 加快 R 中固定宽度格式表的导入速度

    我正在从 R 中的固定宽度格式 txt 文件导入表格 该表大约有 100 个观测值和 200000 行 下面几行 11111 2008 7 31 21 2008 8 1 21 3 4 6 18 4 7 0 12 0 0 0 0 0 1 0