問題タブ [coerce]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
51 参照

r - ダブル RHS を強制的に論理に変換したため、DT でマージできません

data.all という 1 つの df から 1 つの列を作業中の dfcalled データにマージしているときに、このエラーが発生しました

警告メッセージ: [.data.table(setDT(data)、setDT(data.all)、 :=(RX_HOSP_SURG_APPR_2010, : ターゲット列の型と一致するように double RHS を強制的に論理に変換します (列 157 という名前の 'RX_HOSP_SURG_APPR_2010')。ターゲット列の論理型が正しい場合は、強制を回避して RHS を論理型として作成するのが効率的です。 . これを達成するには、R の型の接尾辞を考慮してください: typeof(0L) vs typeof(0)、および typeof(NA) vs typeof(NA_integer_) vs typeof(NA_real_). RHS を as.logical() でラップして、この警告を回避できます。 , しかし、それはまだ強制を実行します. ターゲット列の型が正しくない場合は、DT が作成された場所を再訪し、そこで列の型を修正するのが最善です; たとえば、fread( で colClasses= を使用することによって)。その上に(目的のタイプの)新しい列を追加することにより、列のタイプを変更します; 例: DT[, RX_HOSP_SURG_APPR_2010:=as.double(RX_HOSP_SURG_APPR_2010)]。:= の RHS に nrow(DT) 要素がある場合、割り当ては列 plonk と呼ばれ、列の型を変更する方法です。列の型は sapply(DT,typeof) [... truncated] で確認できます

いろいろな方法を試しましたが、これを理解できませんでした

str(data$RX_HOSP_SURG_APPR_2010)

logi [1:8671] FALSE FALSE FALSE NA NA NA ...

str(data.all$RX_HOSP_SURG_APPR_2010)

'haven_labelled' num [1:129296] 0 0 NA NA NA NA NA NA NA NA ... - attr( , "label")= chr "この施設での外科的アプローチ 2010 年以降" - attr( , "format.spss ")= chr "F1.0" - attr( , "display_width")= int 23 - attr( , "labels")= 名前付き数値 [1:7] 0 1 2 3 4 5 9 ..- attr(*, "names")= chr [1:7] "原発部位の外科的処置なし" "ロボット支援" "ロボットが開放型に変換" "腹腔鏡" ...

アドバイスをいただければ幸いです。

0 投票する
2 に答える
145 参照

haskell - 「リーダー」をフィールドとしてデータ型を「強制」することはできません

完全にコンパイルされる次の Haskell コードがあります。

ただし、Flow型の定義を次のように変更すると:

奇妙なエラーが表示され始めます。

私が理解しているように、私のデータ型はもはやCoercible自動的ではありません。Flowタイプの値を自動的に強制できることを GHC に伝える方法はありますか? 各フィールドを手動で処理できますが、データ型全体を一度に処理coerceしたいと考えています (これは機能するために必要です)。coerceDerivingVia

私はRoleAnnotationsこのような拡張機能を使用してみました:

しかし、私はエラーが表示されます: