我正在尝试将哈希映射中值的类型(哈希映射包含从 csv 文件导入的数据,该文件将所有内容作为字符串导入,从而产生此问题)从字符串到浮点数:
示例输入:
(def toydata {"EGFR" ["12.34" "4.45" "1.32"], "MYCN" "5.11", "ABC9" ["3.21" "1.32"]})
我想要的是:
{"EGFR" [12.4 4.45 1.32] "MYCN" 5.11 "ABC9" [3.21 1.32]}
我在下面的 Thomas 的 SO 上找到了一个很好的例子,但是它似乎不适用于向量的地图值:
(defn remap [m f]
(reduce (fn [r [k v]] (assoc r k (apply f v))) {} m))
当我尝试在我的地图上调用此函数时:
(remap toydata #(Float/parseFloat %))
我收到一个错误:
ClassCastException clojure.lang.PersistentVector cannot be cast to java.lang.String
任何人都可以帮忙吗?