![]() |
1
4
你可以使用
以这种导入策略留下的长格式处理这些数据可能更容易。如果你想每天都有一列,你可以通过改变数据的形状来实现。
编辑:
结果是
|
![]() |
2
4
该问题的显著特征是:
读取此文件并将标题信息与详细信息对齐的最直接方法是利用文本处理来重塑文件,使其每个记录包含一个观察值。一旦对原始数据进行了重塑,就可以使用
所需的转换可以在base R中通过以下组合完成
。。。和输出:
这种方法还避免了为了将标题记录与正确数量的细节记录合并而必须跟踪每天的观察次数。 更新:提高解决方案的性能根据对此答案的评论,脚本需要相当长的时间才能针对OP中引用的完整数据执行。原始数据文件有407705行:365条标题记录和407340条详细记录。上述解决方案将数据转换并在约155秒内加载到MacBook Pro上的数据框中,配置如下。
性能缓慢的原因与向该职位提供的其他答案相比,有两个潜在的缓慢来源,包括:
性能优化我们通过以下方式调整代码以提高其性能。
更新后的版本运行大约23秒,比原来的版本有了很大的改进。下面列出了修改后的代码和性能时间。
最后一次优化OP的另一个答案是检查记录的第一列是否为空,以确定该记录是标题记录还是详细记录。在我的帖子顶部,我注意到,由于经度可能在小数点前有3位数字,所以这种技术是有风险的。 然而,事实证明,这些数据的经度不超过本初子午线以东或以西100度,因此我们可以使用以下代码改进脚本的运行时性能。
正如我们从性能计时中看到的,替换
|
![]() |
Hard_Course · 用另一列中的值替换行的最后一个非NA条目 3 月前 |
![]() |
Mark R · 使用geom_sf()删除地球仪上不需要的网格线 3 月前 |
![]() |
Joe · 根据对工作日和本周早些时候的日期的了解,找到一个日期 3 月前 |
![]() |
Ben · 统计向量中的单词在字符串中出现的频率 3 月前 |
![]() |
TheCodeNovice · R中符号格式的尾随零和其他问题[重复] 3 月前 |
![]() |
dez93_2000 · 在R管道子功能中引用管道对象的当前状态 4 月前 |
![]() |
Mankka · 如何在Ggplot2中绘制均匀的径向图 4 月前 |