가정하자 I는 다음 데이터 프레임을 가지고 I 원하는 다른 데이터 프레임에 기초하여 복수의 컬럼의 레코드를 바꾸기
df <- data.frame(x = c(1,1,1,3,3,3,4,4,4),
y = c(1,3,4,1,3,4,1,3,4),
z = c(6,3,7,8,2,3,0,1,2))
는 열 (X)의 값을 바꾸고하기를 Y 다른 데이터 프레임에 포함 된 매핑에 기초 :
df.aux <- data.frame(id = c(0,1,2,3,4),
desc = c('zero', 'one', 'two', 'three', 'four))
을 구하는 방법
x y z
1 one one 6
2 one three 3
3 one four 7
4 three one 8
5 three three 2
6 three four 3
7 four one 0
8 four three 1
9 four four 2
주, df.aux에 매핑이 더 르 포함 할 수 있음 df에서보다 vels. df $ x를 df $ id로 변경하고 두 개의 df를 병합 한 다음 df $ y에 대해 반복하여 매핑을 수행 할 수 있습니다. 그러나 그것은 매우 어색하고, 그래서 더 좋은 방법이 있어야합니다.
놀라운와 먼저 서브 세트 수 있습니다. 많은 감사합니다! – mattek
또는 값을 교환해야하는 열이 많으면 다음과 같이 할 수 있습니다. 'solution <- (df, c (1,2), function (x) df.aux [ df.aux $ id == x, 2])' –