Я все еще относительно новичок в работе в R, и я не уверен, как решить эту проблему. Буду очень признателен за любую помощь или совет !!!
У меня проблема в том, что я работаю с двумя фреймами данных, и мне нужно перекодировать первый фрейм данных со значениями из второго. Первый кадр данных (df1) содержит данные от респондентов для опроса, а другой кадр данных (df2) - это словарь данных для df1.
Данные выглядят следующим образом:
df1 <- data.frame(a = c(1,2,3),
b = c(4,5,6),
c = c(7,8,9))
df2 <- data.frame(columnIndicator = c("a","a","a","b","b","b","c","c","c" ),
df1_value = c(1,2,3,4,5,6,7,8,9),
new_value = c("a1","a2","a3","b1","b2","b3","c1","c2","c3"))
Пока что я могу вручную перекодировать df1, чтобы получить ожидаемый результат, выполнив это:
df1 <- within(df1,{
a[a==1] <- "a1"
a[a==2] <- "a2"
a[a==3] <- "a3"
b[b==4] <- "b4"
b[b==5] <- "b5"
b[b==6] <- "b6"
c[c==7] <- "c7"
c[c==8] <- "c8"
c[c==9] <- "c9"
})
Однако в моем реальном наборе данных содержится около 42 столбцов, которые необходимо перекодировать, и этот метод требует немного времени. Есть ли другой способ в R для меня перекодировать значения в df1 со значениями в df2?
Спасибо!