0

私はRを初めて使用し、これを理解しようとしてすでに少なくとも1日は経過しています。

data.table から json を作成しようとしましたが、変数の 1 つの値をキーとして使用し、その値として他の変数を組み合わせたリストを使用したいと考えています。私が克服できなかったハードルは、変数の値をキーとして使用することです。

データは次のようになります。

x<-data.table(ipUnit=c("192.168.2.254/1","192.168.2.5/1"), ip=c("192.168.2.254","192.168.2.5"), unit=c("1","1"))

            ipUnit            ip unit  
1: 192.168.2.254/1 192.168.2.254    1  
2:   192.168.2.5/1   192.168.2.5    1  

JSON I'd like to eventually have:  

IP_UNIT_ID" : [  
    "192.168.2.254/1" : {  
        "IP_ADDR" : "192.168.2.254",  
        "UNIT_ID" : "1 "  
    },  
    "192.168.2.5/1" : {  
        "IP_ADDR" : "192.168.2.5",  
        "UNIT_ID" : "1 "  
    }  
]  

私はもう試した:

e=parse(text="list(IP_UNIT_ID(list(ipUnit=list(\"IP_ADDR\"=ip,\"UNIT_ID\"=unit) )))")
toJSON(x[,eval(e)])

与える:

[{"IP_UNIT_ID":{"IP_ADDR":["192.168.2.254","192.168.2.5"],"UNIT_ID":["1","1"]}}] 

これは明らかに正しくありません。

最後の試みは、必要な構造の作成を大幅に簡素化するハッシュ パッケージを使用することでしたが、rjson または jsonlite のいずれかでサポートされているオブジェクトではないようです。次のようなエラーを受け取りました。

エラー: S4 クラスのメソッドがありません: ハッシュ

4

1 に答える 1