Входной параметр var должен быть вектором, а не объектом формулы. [case_when; изменить проблемы] - PullRequest
1 голос
/ 03 августа 2020

Кто-нибудь сталкивался с этой проблемой раньше? Я работаю с огромным набором данных, и данные ниже - это всего лишь образец. Мне не удалось воспроизвести проблему путем создания фиктивного тибла.

> 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.
> 

1 Ответ

1 голос
/ 03 августа 2020

У вас проблема с (). Переместите ")" после D_UDDTO)

Думаю, вы хотите это:

df%>%mutate(var=case_when(D_INDDTO==D_UDDTO~"X"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...