Это оригинальный кадр данных:Замена конкретных значений в кадре данных с новым кадром данных
> df = data.frame(name=c('a', 'b', 'c'), age = c(12, 23, 34), sex = c('boy', 'girl', 'boy'))
> df
name age sex
1 a 12 boy
2 b 23 girl
3 c 34 boy
И этот фрейм данных содержит значение мне нужно изменить:
> newdf = data.frame(name=c('a', 'c'), sex=c('girl', 'girl'))
> newdf
name sex
1 a girl
2 c girl
мне нужно замените значения в df
со значениями в newdf
.
Ожидаемые результаты должны быть:
> expectedResult = data.frame(name=c('a', 'b', 'c'), age=c(12, 23, 34), sex=c('girl', 'girl', 'girl'))
> expectedResult
name age sex
1 a 12 girl
2 b 23 girl
3 c 34 girl
Я попытался с помощью set
или cbind
, но не работает. Любая идея?
dplyr
или data.table
решения приветствуются. Нужно решение, которое работает для фрейма данных с> 100 столбцами.
Что делать, если у меня есть несколько столбцов? Я пробовал цикл для i.col, но не работал. – shawnl
@shawni Затем используйте 'c ('sex', 'something'): = list (i.sex, i.something)' – akrun
Как я могу сделать его динамическим, например 'i.col'? Это должно быть решение, которое работает для фрейма данных с> 100 столбцами. – shawnl