我将重要的元数据存储在R对象中作为属性。我想将我的工作流程迁移到Julia,我正在寻找一种方法,至少暂时将属性表示为Julia可以访问的东西。然后,我可以开始考虑扩展RData
包,用实际对象的属性填充这个数据结构。
我理解,用DataFrame中的标签或单元之类的东西进行注释--我认为对象属性的最重要的用途--可能会在某个时候在DataFrames
包(https://github.com/JuliaData/DataFrames.jl/issues/35)中实现。但我问的是更通用的解决方案,这并不取决于这个特定的用例。
对于任何感兴趣的人, package
发布于 2017-10-25 23:05:28
在Julia中,定义自己的类型是很理想的--您只需在类型中创建字段来存储属性。在R中,将事物存储为属性的好处是,它们不影响类型分派的方式--例如,向Vector添加元数据并不会使它停止像Vector那样的行为。在julia中,这种方法要复杂一些--您必须为您的类型的AbstractVector
定义https://docs.julialang.org/en/latest/manual/interfaces/#man-interface-array-1接口,才能使它像向量一样运行。
本质上,这意味着工作流解决方案略有不同--例如,当从函数返回元数据时,通常使用R中的属性元数据将元数据关联到对象。在Julia中执行类似操作的一种简单方法是让函数返回一个元组并将结果分配给一个元组:
function ex()
res = rand(5)
met = "uniformly distributed random numbers"
res, met
end
result, metadata = ex()
我认为没有计划实现像R这样的属性。
https://stackoverflow.com/questions/46947389
复制