问题标签 [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 投票
2 回答
663 浏览

r - as.numeric("10^3") 警告消息:强制引入的 NA

试图将此向量强制为数字:

所需的输出:

[1] “100” “1000” “1e+06” “” “1e+09”

0 投票
1 回答
51 浏览

r - 无法在 DT 中合并,因为我强制双 RHS 合乎逻辑

我在将 1 个名为 data.all 的 df 中的 1 列合并到我的工作 df 调用数据时出现此错误

警告信息:在[.data.table(setDT(data), setDT(data.all), :=(RX_HOSP_SURG_APPR_2010, : 将双 RHS 强制为逻辑以匹配目标列的类型(名为 'RX_HOSP_SURG_APPR_2010' 的列 157)。如果目标列的逻辑类型正确,则最好避免强制并将 RHS 创建为逻辑类型. 要实现这一点,请考虑 R 的类型后缀:typeof(0L) vs typeof(0) 和 typeof(NA) vs typeof(NA_integer_) vs typeof(NA_real_)。您可以使用 as.logical() 包装 RHS 以避免此警告, 但这仍然会执行强制。如果目标列的类型不正确,最好重新访问创建 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)

逻辑 [1:8671] 错误 错误 错误 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")= Named num [1:7] 0 1 2 3 4 5 9 ..- attr(*, “names”)= chr [1:7] “原发部位无外科手术”“机器人辅助”“机器人转开放”“腹腔镜”...

任何建议将被认真考虑。

0 投票
1 回答
167 浏览

haskell - 通过“强制”键入角色和令人困惑的行为

我有一个类型Id a,我试图防止意外强制,例如,一个Id Double到一个Id Int.

如果我正确理解类型角色,则以下内容不应编译。

不幸的是,它确实:

我对类型角色缺少什么?

0 投票
1 回答
40 浏览

r - googleAnalyticsR 包无法将类型“闭包”强制转换为“字符”类型的向量

当我运行以下代码时,我没有看到任何错误,并且 Shiny 应用程序按预期呈现和执行。

但是,当我通过添加 auth 模块运行以后的迭代时,我得到一个强制错误

错误:

0 投票
2 回答
145 浏览

haskell - 不能以“读者”作为字段“强制”数据类型

我有以下 Haskell 代码,可以完美编译:

但是,如果我将Flow类型的定义更改为以下内容:

我开始看到一个奇怪的错误:

据我了解,我的数据类型不再是Coercible自动的。有没有办法告诉 GHC 我可以Flow自动强制类型值?我可以coerce手动输入每个字段,但我想coerce一次输入整个数据类型(这是DerivingVia工作所必需的)。

我尝试使用这样的RoleAnnotations扩展:

但我看到一个错误:

0 投票
1 回答
106 浏览

r - R如何自动将字符输入强制转换为数字?

我正在randomForest为我的数据训练包中的随机森林模型。有些变量属于字符类。我很确定randomForest只会将因子和数字类作为输入。所以我认为 R 会自动将字符强制转换为数字。

为了让我知道这可能如何影响我的建模结果,有谁知道 R 如何自动将字符强制转换为数字类(如算法/规则)?或者我可以查看的任何源代码?

我正在使用 R 版本 4.0.1。

提前致谢。

更新: 我检查使用

而且我可以看到,如果将这些字符变量转换为因子,那么输出中的“分割点”是一个整数(这意味着它是一个分类变量(参见:https ://www.rdocumentation.org/packages/randomForest /versions/4.6-14/topics/getTree ))。但是如果不转换为因子,那么输出中的“分割点”就不是整数。

所以我猜是 R 将这些字符变量的值强制转换为数值?但是怎么做?

0 投票
1 回答
97 浏览

perl - 如何避免 Type::Tiny::_build_coercion 中的“深度递归”错误/警告

我继承了以下针对Type-Tiny-1.004004编写的代码:

但是它不适用于Type-Tiny-1.012000。我编写了以下测试来说明问题:

这将输出以下内容:

我已将问题范围缩小到coercion_generator (如果我将其注释掉,我会丢失此错误)并在文档中指出了这一点:

以下属性用于参数化强制,但没有完整记录,因为它们可能在不久的将来发生变化:

我认为这已经发生了变化,并希望对如何更新我现有的代码以迎头赶上有所帮助?

0 投票
3 回答
191 浏览

haskell - 是否可以在自定义类型和标准库类型之间建立强制实例?

举个简单的例子,假设我想要一个类型来表示井字游戏标记:

这与Bool

但是Coercible Bool Mark它们之间没有,即使我导入GHC.Types(我首先认为 GHC 可能需要Bool's 的定义位置才能看到),拥有这个实例的唯一方法似乎是通过newtype.

也许我可以定义newtype Mark = Mark Bool和定义双向模式NoughtCross我希望有比这更简单的东西。

0 投票
2 回答
36 浏览

pandas - 如何规范熊猫数据框中的数字/非数字条目

我想控制我的熊猫数据框中的非数字条目。说我有以下内容:

我可以按如下方式采用行均值,而 python 会正确跳过 NaN 值:

伟大的!。但现在假设我导入的表中的一个值是一个字符串

危险:输出看起来合理,但错误,因为一旦我将位置值更改[0,1]为字符串,位置值[1,1][3,1]从数字0.9变为字符串"0.9",并且所有字符串都从平均中省略(我猜每个列必须是同一类型?这可能是有原因的,但男孩这很危险。)

我现在要做的是将数据框的所有条目强制恢复为数字类型。任何可以被合理地强制转换为数字的东西都应该成为那个数字,而任何不能被强制转换为数字的东西都应该成为nan(不管它可能是什么字符串或类型)。

Pandas系列有一个pandas.to_numeric可以设置的功能errors='coerce',但不幸的是 df's ( DataFrame.astype()) 的类似功能不允许此选项。

是否有“使 dataFrame 的每个元素看起来像数字,并制作其他所有元素”的功能nan

0 投票
1 回答
55 浏览

excel - Excel VBA:将信息强制转换为逗号分隔的字符串

我有两个 Excel 工作表(“Sheet1”和“Sheet2”)。Sheet2 包含我要根据 ID 分组并显示在“Sheet1”中的原始数据。也就是说,我想根据 ID 强制“FEED”和“NUMB”,并将“FEED”和“NUMB”存储为逗号分隔的字符串(参见下面的示例数据)。

这个过程需要是动态的,即如果我在 Sheet2 中输入新数据,Sheet1 中显示的信息会自动更新。

请注意,我想使用 VBA 来执行此操作,我绝对是初学者(Microsoft Excel 2019 和非英语)。我一直在尝试使用 VBA 反向执行此操作(即根据 Sheet1 将存储的数据拆分为 Sheet2),但是我的试验没有成功。我通常不喜欢在 Excel 中工作,尽管目前的情况迫使我这样做