Ich verwende das Leimpaket, um dynamischen Text in einem Bericht zu generieren. Wenn ich dplyr::case_when
verwende, um zwischen Bedingungen zu wechseln, erhalte ich einen Fehler von Kleber.Fehler: muss Zeichen sein, nicht Leim/Zeichen bei der Verwendung von Leim() in case_when
library(dplyr); library(glue)
one_car <- mtcars[10, ]
# Throws error:
answer <- case_when(
one_car$mpg < 25 ~ glue(row.names(one_car), " has bad mileage"),
one_car$mpg >= 25 ~ glue(row.names(one_car), " has good mileage")
)
Error: must be character, not glue/character
Die case_when
Werke ohne Leim:
answer <- case_when(
one_car$mpg < 25 ~ 0,
one_car$mpg >= 25 ~ 1
)
Und die Arbeiten Leim, wenn sie alleine laufen:
glue(row.names(one_car), " has bad mileage")
#> Merc 280 has bad mileage
Die 'ifelse' fein arbeitet. Also, es sollte ein env Problem in 'case_when'' ifelse (one_car $ mpg <25, Kleber (row.names (one_car), "hat schlechte Laufleistung"), Kleber (row.names (one_car), "hat eine gute Laufleistung ")) # [1]" Merc 280 hat schlechte Laufleistung ". Wenn wir die Klassen überprüfen 'str (Kleber (row.names (one_car)," hat schlechte Laufleistung ")) # Klassen 'Kleber', 'Charakter' chr" Merc 280 hat schlechte Laufleistung "'. Also wickle es wahrscheinlich mit 'character' ' – akrun