Заменить уникальные значения столбца вектором новых значений - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть фрейм данных с тремя столбцами: два, чтобы идентифицировать человека, и один, который соответствует ответу человека на вопрос. В этом примере ответы кодируются от 1 до 3 (в виде символов) и могут содержать NA. Я хотел бы заменить эти значения их истинным значением.

library(tibble)

my_data <- tibble(
  first_id = rep(1:2, each = 4),
  second_id = rep(rep(letters[1:2], 2), each = 2),
  variable = as.character(c(2, 1, NA, 2, 3, 1, 3, NA))
)

# A tibble: 8 x 3
  first_id second_id variable
     <int> <chr>     <chr>   
1        1 a         2       
2        1 a         1       
3        1 b         NA      
4        1 b         2       
5        2 a         3       
6        2 a         1       
7        2 b         3       
8        2 b         NA    

Значение может иметь различное значение в зависимости от:

  • столбец first_id, т. Е. 1 может быть Yes, если first_id равно 1 и может быть maybe, если first_id равно 2.

  • столбец second_id.

К визуализировать легче, подумайте, что этот кадр данных соответствует данным опроса, где first_id относится к разным раундам, а second_id - к разным странам.

Поэтому я хотел бы заменить эти значения в соответствии с их first_id и second_id. Я хотел бы заменить уникальные значения столбца variable вектором, потому что у меня много разных значений, и я думаю, что это лучший вариант, чем делать:

my_data$variable[(my_data$first_id == 1 & my_data$second_id == "a" & my_data$variable == "1")] <- "Something"
my_data$variable[(my_data$first_id == 1 & my_data$second_id == "a" & my_data$variable == "2")] <- "Something else"

et c.

Я пытался сделать что-то вроде:

sort(unique(my_data$variable[(my_data$first_id == 1 & my_data$second_id == "a")])) <- c("Something", "Something else")

, но у меня есть ошибка:

Ошибка в сортировке (уникальная (переменная my_data $ [(my_data $ first_id) == 1 & my_data $ second_id ==: невозможно определить проблему "sort <-" </p>

Как заменить уникальные значения подмножества данных на вектор?

Ожидается вывод:

# A tibble: 8 x 3
  first_id second_id variable      
     <int> <chr>     <chr>         
1        1 a         Something else
2        1 a         Something     
3        1 b         NA            
4        1 b         2             
5        2 a         3             
6        2 a         1             
7        2 b         3             
8        2 b         NA   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...