我认为这是可能的,但我正在寻找一种方法来使用rprotobuf包映射R中的基类型。我想要的是创建一个非常类似于Rserve的网络/服务器,但使用协议缓冲区来序列化数据而不是Rserve的QAP协议。我的问题是如何将data.frame映射到协议缓冲区。这里有一个我希望它看起来像的例子,但是让我知道如果我以错误的方式去做。如何使用RProtobuf来映射R基类型或SEXP对象
message TextCell {
required string name = 1;
}
message NumericCell {
repeated int32 num 1;
}
message TextColumn {
repeated TextCell text 1;
}
message NumericColumn {
repeated NumericCell number 1;
}
message DataFrame {
optional NumericColumn numbericColumn = 1;
optional TextColumn textColumns = 2;
}
我刚才嘲笑这件事,因此将可能有错误,但是这是我在看的概念,它没有考虑到像双打考虑的事情,这似乎像一个坏主意。它可能是一个更好的解决方案,使用字节类型和反序列化另一边的列。不确定如何解决这个问题,并且会从更有知识的人员中获得反馈。
注意,我想使用由于协议缓冲区他们的存储效率和使用更多语言的可能性,但并没有什么错的QAP协议。它非常快速和高效。
在此先感谢
我发现Rhipe代码做了几乎完全一样是我想做的事情。 https://github.com/saptarshiguha/RHIPE/blob/master/code/R/src/rexp.proto –