Переназначение предметных строк идентификатора базы данных на факторы в R - PullRequest
0 голосов
/ 29 апреля 2020

Мне нужно изменить строки, представляющие идентификаторы субъектов, на факторы или что-нибудь более приемлемое, чем экспортированные строки базы данных сервера. Строки выглядят так:

"0762e6 cc -2f79-49ab-9927-e708d7d191a3", "1c24e4a5-10df-48c8-a1e5-98690c25a0ab", et c.

Мне бы хотелось, чтобы они выглядели как идентификаторы тем, которые мы используем, взятые из анкеты типа Qualtrics. Они выглядят так:

0001, 0002 и др. c.

Достаточно просто перекодировать фактор в последний, но я не могу понять, как заменить строки на факторы.

Пожалуйста и спасибо!

1 Ответ

0 голосов
/ 29 апреля 2020

Мы могли бы использовать factor с levels, указанным в качестве unique элементов вектора, и затем принудительно установить integer, а затем добавить 0 в начале с sprintf

sprintf("%04d", as.integer(factor(v1, levels = unique(v1))))
#[1] "0001" "0002"

Или с match

sprintf("%04d", match(v1, unique(v1)))
#[1] "0001" "0002"

данными

v1 <- c("0762e6cc-2f79-49ab-9927-e708d7d191a3", "1c24e4a5-10df-48c8-a1e5-98690c25a0ab")
...