У меня есть кадр данных, который выглядит как этотЗаменить на в колонке на значение, соответствующее имени столбца в отдельной таблице
data <- data.frame(ID = c(1,2,3,4,5),A = c(1,4,NA,NA,4),B = c(1,2,NA,NA,NA),C= c(1,2,3,4,NA))
> data
ID A B C
1 1 1 1 1
2 2 4 2 2
3 3 NA NA 3
4 4 NA NA 4
5 5 4 NA NA
У меня есть файл отображения, а который выглядит как этот
reference <- data.frame(Names = c("A","B","C"),Vals = c(2,5,6))
> reference
Names Vals
1 A 2
2 B 5
3 C 6
Я хочу, чтобы мой файл данных был изменен с использованием файла ссылки таким образом, чтобы это дало мне этот окончательный кадр данных.
> final_data
ID A B C
1 1 1 1 1
2 2 4 2 2
3 3 2 5 3
4 4 2 5 4
5 5 4 5 6
Каков самый быстрый способ, которым я могу справиться с этим в R?
не должен там быть каким-то способом убедиться, что упорядочение матчей между двумя наборами значений, как 'Map (функция (d, r) заменить (d, is.na (d), r), data [as.character (reference $ Names)], reference $ Vals) '? В противном случае вы полагаетесь на все, что находится в том же порядке строк и столбцов. – thelatemail
@thelatemail Спасибо, что ты прав. – akrun