У меня есть таблица данных, как следующее:шаблона, чтобы создать новый столбец в R
library(data.table)
DF <- as.data.table(list(ID = c(125534,"122-343",312343,"12343-343FGV", 1234, 713827), Product = c('Y', NA, NA, 'Z', NA, NA), Type = c(NA, 'D', 'G', NA, NA, NA)))
ID Product Type
1: 125534 Y NA
2: 122-343 NA D
3: 312343 NA G
4: 12343-343FGV Z NA
5: 1234 NA NA
6: 713827 NA NA
Я хотел бы создать новый столбец с именем категории на основе того, как классифицировать ID. Мой неверный код выглядит следующим образом:
DF$CATEGORY <- ifelse(grepl("^12[0-9]|^31[0-9]|", DF$ID), 'IN', 'OUT')
желаемому результату:
ID Product Type CATEGORY
1: 125534 Y NA IN
2: 122-343 NA D OUT
3: 312343 NA G IN
4: 12343-343FGV Z NA OUT
5: 1234 NA NA OUT
6: 713827 NA NA OUT
Я хотел написать код так, что любой идентификатор с буквами или символами, короче 6 символов и не начинаются с либо 12, либо 31. Остальные находятся в
Это идеальное решение. Спасибо! – flightless13wings