Мы всегда должны предоставлять минимальный воспроизводимый пример :
df <- data.frame(x=c(1,1,2,2,3,3))
Вы не указали пакет для recode
, поэтому я предположил dplyr
. ?dplyr::recode
говорит нам, как аргументы должны быть переданы функции. В первоначальном вопросе "c(1=2; 2=1; 3=3"
- это строка (т.е. не выражение R, а строка символов "c (1 = 2; 2 = 1; 3 = 3"). Чтобы сделать это выражение R, мы должны избавиться двойных кавычек и замените ;
на ,
. Кроме того, нам нужна закрывающая скобка, то есть c(1=2, 2=1, 3=3)
. Но, тем не менее, как говорит ?dplyr::recode
, это не способ передать эту информацию recode
:
Решение с использованием dplyr::recode
:
dplyr::recode(df$x, "1"=2, "2"=1, "3"=3)
Возвращает:
[1] 2 2 1 1 3 3