У меня большой набор данных, так что это игрушечный пример.
Вот кадр данных df
structure(list(Target = structure(c(1L, 4L, 5L, 2L, 3L), .Label = c("Jim",
"Kurt", "Lester", "Tara", "Taylor"), class = "factor"), Gender = structure(c(2L,
1L, 1L, 2L, 2L), .Label = c("F", "M"), class = "factor"), Partner1 = structure(c(1L,
4L, 4L, 2L, 3L), .Label = c("Andrew", "Jim", "Mickey", "Taylor"
), class = "factor"), Partner2 = structure(c(2L, 3L, 1L, 4L,
3L), .Label = c("Andrew", "Jim", "Kurt", "Mickey"), class = "factor"),
Partner4 = structure(c(4L, 3L, 2L, 3L, 1L), .Label = c("Andrew",
"Jim", "Lester", "Tara"), class = "factor")), class = "data.frame", row.names = c(NA,
-5L))
Я хочу де-идентифицировать каждого члена столбцов Target и Partner, используя ключ, предоставленный здесь.
structure(list(name = structure(c(2L, 5L, 1L, 6L, 4L, 3L), .Label = c("Andrew",
"Jim", "Kurt", "Lester", "Mickey", "Taylor"), class = "factor"),
id = structure(c(2L, 5L, 1L, 6L, 4L, 3L), .Label = c("A3",
"J9", "K5", "L4", "M4", "T7"), class = "factor")), class = "data.frame", row.names = c(NA,
-6L))
Я знаю, что вы можете заменить имена каждого столбца индивидуально таким образом
df[["Partner1"]] <- key[ match(df[['Partner1']], key[['name']] ) , 'id']
, но я бы хотел векторизовать его, чтобы я мог перекодировать каждое имявнутри ключа к его соответствующему идентификатору во всех параллельных столбцах
Реальные данные будут сотнями столбцов, и около 30 из этих столбцов будут теми, которые я хочу де-идентифицировать
Любые предложения?