微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我可以获得R float的字节表示吗?

我正在尝试读取具有浮点值的复杂数据文件.已经提供了一些处理这种格式(Met Office PP文件)的C代码,并且它做了很多小事和交换.它不起作用.它有很多权利,比如数据的大小,但返回矩阵中的数值是无意义的,有NaN和像1e38和-1e38这样的值大量洒落.

但是,我有一个二进制exe(“convsh”),可以将这些转换为netCDF,netCDF看起来很好 – 很好的风速旋转地图.

我在想的是PP文件的字节是以错误的顺序读入的.如果我可以将netCDF数据中正确返回的浮点数的字节与从C代码错误地返回的浮点数中的字节进行比较,那么我可能会找出正确的swappage.

那么是否有一个普通的R函数来转储浮点数的四个(或八个?)字节?就像是:

> as.bytes(pi)
[1] 23 54 163 73 99 00 12 45 # made up values

搜索“bytes”和“float”和“binary”没有帮助.

它在C中的微不足道,我可能已经把它写在我写这篇文章的时候……

解决方法

rdyncall可能会给你你想要的东西:
library(rdyncall)
as.floatraw(pi)
# [1] db 0f 49 40
# attr(,"class")
# [1] "floatraw"

或者也许是writeBin(pi,raw(8))?

原文地址:https://www.jb51.cc/css/215471.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。