問題タブ [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.
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] "原発部位の外科的処置なし" "ロボット支援" "ロボットが開放型に変換" "腹腔鏡" ...
アドバイスをいただければ幸いです。
haskell - 「リーダー」をフィールドとしてデータ型を「強制」することはできません
完全にコンパイルされる次の Haskell コードがあります。
ただし、Flow
型の定義を次のように変更すると:
奇妙なエラーが表示され始めます。
私が理解しているように、私のデータ型はもはやCoercible
自動的ではありません。Flow
タイプの値を自動的に強制できることを GHC に伝える方法はありますか? 各フィールドを手動で処理できますが、データ型全体を一度に処理coerce
したいと考えています (これは機能するために必要です)。coerce
DerivingVia
私はRoleAnnotations
このような拡張機能を使用してみました:
しかし、私はエラーが表示されます: