1

データセットから 2 つの列を選択すると、結果には、指定された 2 つの列のタイトルが期待どおりに表示されます。ただし、1 つの列のみを指定すると、結果の 1 つの列のタイトルが失われ、代わりに「0」というタイトルが付けられます。

これにより、後のステップで列名を使用する $order などを使用することが難しくなります。

つまり、これは機能します

(with-data data   
  (->> ($ [:foo :bar])
       ($order [:foo] :asc)
       (view)))

そしてこれは失敗します

(with-data data
  (->> ($ [:foo])
       ($order [:foo] :asc)
       (view)))

何がうまくいかないのか、何をすべきか考えていますか?

4

2 に答える 2

2

Incanter のどのバージョンを使用していますか? この動作は最近のバージョンで変更され、少なくとも 1.5​​.4 は正しく動作します。$ただし、列名を単一の要素として渡す場合とベクトルとして渡す場合の動作が異なることを考慮してください。

incanter.main=> (def data (dataset [:foo :bar] [[:a :b] [:c :d]]))
#'incanter.main/data
incanter.main=> ($ :foo data)
(:a :c)
incanter.main=> ($ [:foo] data)

| :foo |
|------|
|   :a |
|   :c |
于 2013-10-31T09:35:05.573 に答える