Using the dplyr package:
library(dplyr)
data <- data.frame(personal_id = c("111-111-111", "999-999-999", "222-222-222", "111-111-111"),
gender = c("M", "F", "M", "M"),
temperature = c(99.6, 98.2, 97.8, 95.5))
first you extract personal_id to create a unique identifier:
cases <- data.frame(levels = levels(data$personal_id))
, :
cases <- cases %>%
mutate(id = rownames(cases))
:
levels id
1 111-111-111 1
2 222-222-222 2
3 999-999-999 3
dataframe :
data <- left_join(data, cases, by = c("personal_id" = "levels"))
, , :
mutate(UID = paste(id, gender, sep=""))
, , personal_id id:
select(-personal_id, -id)
:):
data <- left_join(data, cases, by = c("personal_id" = "levels")) %>%
mutate(UID = paste(id, gender, sep="")) %>%
select(-personal_id, -id)
:
gender temperature UID
1 M 99.6 1M
2 F 98.2 3F
3 M 97.8 2M
4 M 95.5 1M