【发布时间】:2020-06-20 06:44:34
【问题描述】:
我还有另一个问题类似于上一个问题here。由于它不完全相同,因此我将其发布为一个新问题。
我正在尝试将向量作为新列添加到 tbl,但我的向量比行数短,因此我使用 if_else() 指定条件。这是一个代表和我尝试的解决方案:
library(dplyr)
library(magrittr)
data <- data.frame(
ID = c("a100", "b100", "c100", "d100", "e100", "f100"),
certainty = c("confirmed", "likely", "unsure", "likely", "unsure", "confirmed")
)
data %<>% as_tibble()
add <- c(1, 2)
data %<>%
mutate(new_var =
if_else(certainty == "likely", add, NA_real_))
这目前给了我错误Error: true must be length 6 (length of condition) or one, not 2,但据我所知,我的条件长度为2,因为sum(data$certainty == "likely") 返回[1] 2。
结果应该是这样的:
ID certainty new_var
<fct> <fct> <dbl>
1 a100 confirmed NA
2 b100 likely 1
3 c100 unsure NA
4 d100 likely 2
5 e100 unsure NA
6 f100 confirmed NA
我错过了什么?再次感谢,如果这是一个菜鸟问题,我很抱歉,但我仍在努力掌握 tidyverse!
【问题讨论】: