【发布时间】:2020-11-23 10:49:27
【问题描述】:
以下代码在使用 fcase 评估该行时会引发错误。
library(data.table)
library(dplyr)
tbl.test <- data.table(x = 0.5*(1:2))
tbl.test[, .(fcase(x < 1, x+1,
default = x))]
tbl.test[, .(case_when(x < 1 ~ x+1,
TRUE ~ x)
)]
当我以这种方式使用 case_when 时(对于大多数复杂的东西..),我想切换到 fcase,希望能真正提高性能..
有没有人看到这种 fcase 用法的魔鬼藏在哪里? 关键是我不能将表格的一列用作 fcase 的默认值 ..
【问题讨论】:
-
这能回答你的问题吗? data.table alternative for dplyr case_when
-
@ekoam 不,不幸的是,它没有回答。因为我遇到的问题是,使用 fcase,我不能将表的列作为默认值..
-
该主题有一个未解决的问题:github.com/Rdatatable/data.table/issues/…
标签: r dplyr data.table