Идиома для ifelse -перекодирование стиля для нескольких категорий

Я сталкиваюсь с этим достаточно часто, чтобы понять, что для этого должна быть хорошая идиома. Предположим, у меня есть data.frame с кучей атрибутов, включая «продукт». У меня также есть ключ, который переводит товары в марку + размер. Коды продуктов 1 -3 — Тайленол, 4 -6 — Адвил, 7 -9 — Байер, 10 -12 — Дженерик.

Какой самый быстрый (с точки зрения человеческого времени )способ закодировать это?

Я обычно использую вложенные ifelse, если категорий 3 или меньше, и печатаю таблицу данных и объединяю ее, если категорий больше 3. Есть идеи получше? В Stata есть командаrecode, которая довольно удобна для такого рода вещей, хотя я считаю, что она слишком сильно способствует смешиванию кода данных -.

dat <- structure(list(product = c(11L, 11L, 9L, 9L, 6L, 1L, 11L, 5L, 
7L, 11L, 5L, 11L, 4L, 3L, 10L, 7L, 10L, 5L, 9L, 8L)),.Names = "product", row.names = c(NA, 
-20L), class = "data.frame")

17
задан divibisan 6 September 2018 в 16:26
поделиться