Преобразование вектора на основе другого вектора - PullRequest
0 голосов
/ 04 июля 2019

У меня есть два вектора.Первый имеет значение, которое я хочу изучить, второй указывает индекс, где значение должно быть.Давайте рассмотрим пример. У меня есть два вектора:

a = c(1,2,2,1,2)
b = c(9,10)

Я хотел бы преобразовать вектор a в вектор, подобный следующему:

a = c(9,10,10,9,10)

Может кто-нибудь помочь, пожалуйста?

1 Ответ

1 голос
/ 04 июля 2019

1) Использовать подписку:

a = c(1,2,2,1,2)
b = c(9,10)
b[a]
## [1]  9 10 10  9 10

2) Другой подход состоит в том, чтобы превратить его в коэффициент с b в качестве меток, а затем преобразоватьвернуться к числовому:

as.numeric(as.character(factor(a, levels = sort(unique(a)), labels = b)))
## [1]  9 10 10  9 10
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...