Запись переменной, состоящей из букв и цифр в r - PullRequest
0 голосов
/ 31 мая 2018

У меня есть переменная, которая закодирована как буквами, так и цифрами, и я пытаюсь перевести все это в числа.Буквы от A до Z, и я хотел бы, чтобы они кодировались от 1 до 26. Числовые записи от 2 до 8, и я хотел бы, чтобы они кодировались от 27 до 33. Кажется, я не могу найти хороший способ сделать это.

Например, моя переменная выглядит следующим образом:

var = c('A',2,3,8,'C','W',6,'T')

Я бы хотел A = 1, 2 = 27, 3 = 28, 8 = 33, C = 3, W =23, 6 = 31, и T = 20.

В основном варьируется A: Z и 2: 8.Но цифры [2: 8] должны быть большими, чем буквы.Буквы должны соответствовать их положению в алфавите.

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

match(var, c(LETTERS, 2:8)) также выглядит так, как будто дает ответ, который вы ищете.

0 голосов
/ 31 мая 2018

Мы могли бы сделать это, используя

library(dplyr)
v1 <- setNames(as.character(27:33), 2:8)[var]
v2 <- setNames(as.character(1:26), LETTERS)[var]

as.vector(coalesce(v1, v2))
...