输入'var'必须是向量,而不是'formula'对象。[情况发生时;突变问题]

输入'var'必须是向量,而不是'formula'对象。[情况发生时;突变问题],r,R,以前有人遇到过这个问题吗?我正在处理一个庞大的数据集,下面的数据只是一个样本。我还不能通过创建一个虚拟的tibble来重现这个问题 > df # A tibble: 5 x 2 D_INDDTO D_UDDTO <date> <date> 1 2000-05-12 2000-05-12 2 2000-05-12 2000-05-12 3 2000-05-12 2000-05-12 4 2000-05-12 2000-05-12 5

以前有人遇到过这个问题吗?我正在处理一个庞大的数据集,下面的数据只是一个样本。我还不能通过创建一个虚拟的tibble来重现这个问题

> df
# A tibble: 5 x 2
  D_INDDTO   D_UDDTO   
  <date>     <date>    
1 2000-05-12 2000-05-12
2 2000-05-12 2000-05-12
3 2000-05-12 2000-05-12
4 2000-05-12 2000-05-12
5 2000-05-15 2000-05-22


> df%>%mutate(var=case_when(D_INDDTO==D_UDDTO)~"X")

Error: Problem with `mutate()` input `var`.
x Input `var` must be a vector, not a `formula` object.
i Input `var` is `case_when(D_INDDTO == D_UDDTO) ~ "X"`.
Run `rlang::last_error()` to see where the error occurred.


> rlang::last_error()
<error/dplyr_error>
Problem with `mutate()` input `var`.
x Input `var` must be a vector, not a `formula` object.
i Input `var` is `case_when(D_INDDTO == D_UDDTO) ~ "X"`.
Backtrace:
  9. dplyr::mutate(., var = case_when(D_INDDTO == D_UDDTO) ~ "X")
 11. dplyr:::mutate_cols(.data, ...)
 12. base::tryCatch(...)
 13. base:::tryCatchList(expr, classes, parentenv, handlers)
 14. base:::tryCatchOne(expr, names, parentenv, handlers[[1L]])
 15. value[[3L]](cond)
 16. dplyr:::stop_mutate_not_vector(index = i, dots = dots, result = e$result)
 17. dplyr:::stop_dplyr(...)
Run `rlang::last_trace()` to see the full context.
> 
>df
#一个tibble:5x2
我要去我要去的地方
1 2000-05-12 2000-05-12
2 2000-05-12 2000-05-12
3 2000-05-12 2000-05-12
4 2000-05-12 2000-05-12
5 2000-05-15 2000-05-22
>df%>%突变(当(D_INDDTO==D_UDDTO)~“X”时,var=case_)
错误:“mutate()”输入“var”有问题。
x输入'var'必须是向量,而不是'formula'对象。
当(D_INDDTO==D_UDDTO)~“X”时,我输入的'var'是'case'。
运行`rlang::last_error()`查看错误发生的位置。
>rlang::最后一个_错误()
'mutate()`input'var'有问题。
x输入'var'必须是向量,而不是'formula'对象。
当(D_INDDTO==D_UDDTO)~“X”时,我输入的'var'是'case'。
回溯:
9dplyr::mutate(,var=case_当(D_INDDTO==D_UDDTO)~“X”时)
11dplyr:::mutate_cols(.data,…)
12base::tryCatch(…)
13base:::tryCatchList(expr、类、parentenv、处理程序)
14base:::tryCatchOne(expr、name、parentenv、handlers[[1L]]
15值[[3L]](cond)
16dplyr:::停止变异非向量(索引=i,点=点,结果=e$result)
17dplyr:::停止\u dplyr(…)
运行`rlang::last_trace()`查看完整上下文。
> 

您的()有问题。将“)”移到D_UDDTO之后)

你想要这个,我想:

df%>%mutate(var=case_when(D_INDDTO==D_UDDTO~"X"))

别觉得自己愚蠢。如果每次我都有五分钱。。。我我会有很多五分镍币。:)