我正在尝试编写一条dplyr::case_when
语句来捕获函数中的错误并将其替换为其他变量。不幸的是,case_when
似乎没有正确评估空变量,而是返回了空变量而不是替换变量。
下面的代码应具有replacement variable
的输出,但我却得到character(0)
。
x <- character(0) #is_empty(x) evaluates as TRUE
y <- "replacement variable"
case_when(
is_empty(x) ~ paste(y), #replace with y if no x value
TRUE ~ paste(x)) #otherwise use x
有什么想法可能导致这种情况和/或如何解决?
我尝试过更改case_when中参数的顺序,以及使用以下方法:
length(x) == 0 ~ paste(y)
答案 0 :(得分:1)
class Node {
constructor(date) {
this.date = date
}
}
var foo = new Node(new Date());
// foo instanceof Node => true
返回一个向量,该向量的长度等于您传入的向量的长度。因此,什么也没有,什么也没有。如果需要更改长度,则可能只需要基本的case_when
语句; if\else
在这种情况下不是正确的功能。这不是通用的switch语句。它是矢量数据转换器。
在这种情况下,您会这样做
case_when