2017-10-26 5 views
4

중요한 R 메타 데이터를 속성으로 저장합니다. 내 워크 플로우를 Julia로 마이그레이션하고 Julia가 액세스 할 수있는 속성을 적어도 일시적으로 나타낼 수있는 방법을 찾고 있습니다. 그런 다음 실제 객체의 속성으로이 데이터 구조를 채우기 위해 RData 패키지를 확장하려고 생각할 수 있습니다.R 개체의 속성에 대한 Julia의 가장 좋은 근사값은 무엇입니까?

DataFrame의 레이블 또는 단위와 같은 주석을 달고 있다는 것을 이해합니다. 객체의 속성에 대한 가장 중요한 용도는 아마도 DataFrames 패키지 (https://github.com/JuliaData/DataFrames.jl/issues/35)에 구현 될 것입니다. 그러나 나는이 일반적인 사용 사례에 의존하지 않는 좀 더 일반적인 해결책을 요구하고 있습니다.

에 관심있는 사람들을위한

, here is a related discussion in the RData package

+1

같은 속성을 구현하는 계획이 생각하지 않는다

function ex() res = rand(5) met = "uniformly distributed random numbers" res, met end result, metadata = ex() 

: 줄리아 비슷한 일을하는 쉬운 방법은 함수가 튜플을 반환하고 튜플에 결과를 할당하는 것입니다 나는 data.table에 속성을 붙이려고 시도했지만, 어떤 dplyr 동사를 통해 표를 넣은 후에 속성이 삭제된다는 것을 발견했다. 그래서 물건을 저장하는 가장 좋은 방법은 attr인가? 나는 Julia에서 당신 자신의 구조체를 정의하는 것이 갈 길이라고 생각한다. – xiaodai

+0

'braindead'해결책은 기호를 키로 사용하는 'metadata'라는 글로벌 Dict를 도입하는 것입니다. –

답변

4

줄리아 자신의 유형을 정의 할 ideomatic - 당신은 단순히 속성을 저장하는 유형의 필드를 만들 것입니다. R에서는 속성을 속성으로 저장하는 것이 좋은 이유는 유형을 전달하는 방식에 영향을 미치지 않는다는 것입니다. 벡터에 메타 데이터를 추가해도 벡터처럼 작동하지 않습니다. 줄리아에서이 접근법은 좀 더 복잡합니다. https://docs.julialang.org/en/latest/manual/interfaces/#man-interface-array-1 유형의 AbstractVector 인터페이스를 벡터처럼 동작하도록 정의해야합니다.

본질적으로 이는 워크 플로 솔루션이 약간 다르다는 것을 의미합니다. 종종 R의 속성 메타 데이터는 함수에서 반환 될 때 객체에 메타 데이터를 연결하는 데 사용됩니다. 나는 R.에서

+4

하자 * 그런 계획이 없다. 속성은 해킹 중 최악입니다. –