У меня есть набор данных о пациентах df
Я пытаюсь идентифицировать в R.
structure(list(name = structure(c(2L, 5L, 1L, 6L, 4L, 3L), .Label = c("Andrew",
"Jim", "Kurt", "Lester", "Mickey", "Taylor"), class = "factor"),
heart_rate = c(78L, 82L, 67L, 105L, 85L, 94L), age = c(35L,
23L, 43L, 52L, 33L, 45L), partner = structure(c(5L, 2L, 6L,
1L, 3L, 4L), .Label = c("Andrew", "Jim ", "Kurt ", "Lester ",
"Mickey ", "Taylor "), class = "factor")), class = "data.frame", row.names = c(NA,
-6L))
Я хочу заменить имена столбцов name
и partner
на основе столбца id
этого объекта с именем key
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))
Я могу де-идентифицировать столбец name
с помощью этого кода
df[["name"]] <- key[ match(df[['name']], key[['name']] ) , 'id']
но, когда я пытаюсь отождествить столбец partner
с этим кодом
df[["partner"]] <- key[ match(df[['partner']], key[['name']] ) , 'id']
Мой фрейм данных выглядит так
structure(list(name = structure(c(2L, 5L, 1L, 6L, 4L, 3L), .Label = c("A3",
"J9", "K5", "L4", "M4", "T7"), class = "factor"), heart_rate = c(78L,
82L, 67L, 105L, 85L, 94L), age = c(35L, 23L, 43L, 52L, 33L, 45L
), partner = structure(c(NA, NA, NA, 1L, NA, NA), .Label = c("A3",
"J9", "K5", "L4", "M4", "T7"), class = "factor")), row.names = c(NA,
-6L), class = "data.frame")
У кого-нибудь есть предложения? Мы высоко ценим бонусные баллы за методы, которые могут быть применены ко всем столбцам в наборе данных в одной строке и объяснениям кода.