我正在处理具有多个位置的大型数据集。但是,对于我的分析之一,需要将两个位置“Wells1”和“Wells2”折叠为一个位置“Wells”。所有其他位置应保留其当前名称。

有几个很好的问题说明了如何使用不同的基本R函数(#1#2)来实现此目的,但是我想知道是否有人知道哪个tidyverse函数可以实现相同的目标。

到目前为止,我唯一想到的是:

case_when(recvDeployName %in% c("Wells1", "Wells2") ~ "Wells")

但是,我收到以下错误消息:
错误:案例1(.)必须是双面公式,而不是列表

我怀疑,我需要指定其他类别应该做什么,但是我不确定那是什么。

最佳答案

case_when可以写成

case_when(recvDeployName %in% c("Wells1", "Wells2") ~ "Wells",
                TRUE ~ recvDeployName)

08-20 01:30