【发布时间】:2023-01-26 15:04:21
【问题描述】:
为什么 case when 返回一个更大的长度向量,当评估的条件只有长度 1 时?
这是使用 dplyr::case_when()。
这是我的例子:
g <- list("something", c(1:10))
case_when( g[[1]] == "not something" ~ sum(g[[2]]),
g[[1]] == "something" ~ g[[2]][3],
TRUE ~ g[[2]]
)
我本来希望结果是 3 而不是
3 3 3 3 3 3 3 3 3 3 3
编辑:查看函数的文档也许上面应该返回错误而不是运行?
价值
长度为 1 或 n 的向量,匹配逻辑输入的长度或 输出向量,具有第一个 RHS 的类型(和属性)。 不一致的长度或类型将产生错误。
【问题讨论】: