2 개의 데이터 프레임을 병합하고 R에서 열 값 업데이트

포도주

2 개의 데이터 프레임이 있습니다.

R1 <- c("15515","5156","65656","1566", "2857")
RC <- c("A","X","B","Z","A")
R2 <- c("515","5156.11-","415-","1455-","886")
df <- data.frame(R1,RC,R2)

R1 <- c("15515","8888","65656","1566")
R2 <- c("111","222","333","444")
R3 <- c("999","888","777","666")
df2 <- data.frame(R1,R2,R3)

먼저 R1에서 조인 df를 남겨야합니다.

달성 할 조건,

1. if df$R1 != df2$R1
  df$R2 <- df$R2  (As it is in df)
  
2. if df$R1 == df2$R1 & (df$RC == A | df$RC == B) then,
  df$R2 <- df2$R2
  
3. if df$R1 == df2$R1 & (df$RC != A | df$RC != B) then,
  df$R2 <- df2$R3

출력은 다음과 같을 수 있습니다.

 R1        RC        R2
15515      A        111
5156       X        5156.11-
65656      B        333
1566       Z        666
2857       A        886

아래 코드를 실행 해 보았습니다.

df$R1[which(df$R1 == df2$R1) & which((df$RC == 'A' | df$RC == 'B'))] <- df2$R2[which(df$R1 == df2$R1) & which((df$RC == 'A' | df$RC == 'B'))]
df$R1[which(df$R1 == df2$R1) & which((df$RC != 'A' | df$RC != 'B'))] <- df2$R3[which(df$R1 == df2$R1) & which((df$RC != 'A' | df$RC != 'B'))]

그러나 나는 이것으로 조건 1을 잃었습니다.

귀하의 친절한 도움에 감사드립니다!

로낙 샤

on에 가입 df하고 조건을 적용 할 수 있습니다 .df2R1case_when

library(dplyr)

df %>%
  left_join(df2, by = 'R1') %>%
  mutate(R2 = case_when(is.na(R2.y) ~ R2.x, 
                        RC %in% c('A', 'B') ~ R2.y, 
                        TRUE ~ R3)) %>%
  select(names(df))

#     R1 RC       R2
#1 15515  A      111
#2  5156  X 5156.11-
#3 65656  B      333
#4  1566  Z      666
#5  2857  A      886

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

2 개 또는 3 개의 데이터 프레임에서 열 값을 비교하고 병합

분류에서Dev

2 개의 데이터 프레임을 병합하고 "new"열에 값을 할당 할 때 오류 발생

분류에서Dev

R의 열 값에 따라 2 개 이상의 데이터 프레임을 병합합니다.

분류에서Dev

2 개의 데이터 프레임을 A 열과 병합하고 A_label 열 수에 대해 값을 균등하게 분산

분류에서Dev

R : 열의 값을 기준으로 두 데이터 프레임을 병합하고 두 데이터 프레임의 모든 값을 반환합니다.

분류에서Dev

R 2 개 열의 행을 선택하는 데이터 프레임에서 최소값 가져 오기

분류에서Dev

3 개의 열에서 일치하는 값을 기반으로하는 여러 데이터 프레임을 단일 데이터 프레임으로 병합

분류에서Dev

2 개의 팬더 데이터 프레임을 병합하고 2 개의 일치 된 행의 최신 값으로 열을 업데이트하는 방법은 무엇입니까?

분류에서Dev

2 개의 데이터 프레임을 병합하고 몇 개의 열과 관련된 값 목록을 만듭니다.

분류에서Dev

SPARK-배열의 값에 대해 2 개의 데이터 프레임 결합

분류에서Dev

순서가 다른 2 개의 개별 데이터 프레임에서 2 개의 열을 일치시키고 또 다른 값을 반환합니다.

분류에서Dev

R : 세 개의 다른 열에 걸쳐 mtaching 값을 기반으로 두 개의 데이터 프레임 병합

분류에서Dev

데이터 프레임 값을 소수점 2 자리로 업데이트하고 데이터 프레임의 특정 열 값에 접두사 %를 추가하는 방법

분류에서Dev

Pandas에서 2 개의 데이터 프레임을 일치하는 열과 병합

분류에서Dev

R에서 가장 큰 값만 유지하면서 세 개의 데이터 프레임을 두 개의 열로 병합합니다.

분류에서Dev

2 개의 데이터 프레임을 병합하고 업데이트하는 방법

분류에서Dev

R에서 다중 일치를 수행 한 후 2 데이터 프레임의 열 값을 곱하는 방법

분류에서Dev

NaN을 이전 값으로 채우는 Pandas 데이터 프레임의 2 개 열 병합

분류에서Dev

데이터 프레임의 2 개 열에있는 값을 비교하는 방법

분류에서Dev

3 개 열을 기준으로 2 개의 데이터 프레임을 비교하고 두 번째 데이터를 업데이트합니다.

분류에서Dev

두 개의 데이터 프레임을 왼쪽 병합하고 Pandas에서 NaN 값만 채 웁니다.

분류에서Dev

2 개의 다른 열을 참조하여 데이터 프레임 열의 중앙값을 계산합니다.

분류에서Dev

2 개의 다른 조회 데이터 프레임의 값을 사용하여 하나의 데이터 프레임에서 데이터를 추출하는 Pandas

분류에서Dev

R에서 2 개 데이터 프레임의 고유 한 값 식별

분류에서Dev

한 데이터 프레임에서 다른 데이터 프레임의 열 값을 대치하는 방법

분류에서Dev

Pandas 데이터 프레임에서 값을 열로 할당하여 데이터 프레임의 행 그룹화

분류에서Dev

R에서 목록 값을 포함하는 2 개의 서로 다른 데이터 프레임을 병합하는 방법

분류에서Dev

데이터 프레임의 두 열을 키 값 쌍으로 이미 존재하는 사전 열에 병합

분류에서Dev

열의 값에 팬더 데이터 프레임 병합

Related 관련 기사

  1. 1

    2 개 또는 3 개의 데이터 프레임에서 열 값을 비교하고 병합

  2. 2

    2 개의 데이터 프레임을 병합하고 "new"열에 값을 할당 할 때 오류 발생

  3. 3

    R의 열 값에 따라 2 개 이상의 데이터 프레임을 병합합니다.

  4. 4

    2 개의 데이터 프레임을 A 열과 병합하고 A_label 열 수에 대해 값을 균등하게 분산

  5. 5

    R : 열의 값을 기준으로 두 데이터 프레임을 병합하고 두 데이터 프레임의 모든 값을 반환합니다.

  6. 6

    R 2 개 열의 행을 선택하는 데이터 프레임에서 최소값 가져 오기

  7. 7

    3 개의 열에서 일치하는 값을 기반으로하는 여러 데이터 프레임을 단일 데이터 프레임으로 병합

  8. 8

    2 개의 팬더 데이터 프레임을 병합하고 2 개의 일치 된 행의 최신 값으로 열을 업데이트하는 방법은 무엇입니까?

  9. 9

    2 개의 데이터 프레임을 병합하고 몇 개의 열과 관련된 값 목록을 만듭니다.

  10. 10

    SPARK-배열의 값에 대해 2 개의 데이터 프레임 결합

  11. 11

    순서가 다른 2 개의 개별 데이터 프레임에서 2 개의 열을 일치시키고 또 다른 값을 반환합니다.

  12. 12

    R : 세 개의 다른 열에 걸쳐 mtaching 값을 기반으로 두 개의 데이터 프레임 병합

  13. 13

    데이터 프레임 값을 소수점 2 자리로 업데이트하고 데이터 프레임의 특정 열 값에 접두사 %를 추가하는 방법

  14. 14

    Pandas에서 2 개의 데이터 프레임을 일치하는 열과 병합

  15. 15

    R에서 가장 큰 값만 유지하면서 세 개의 데이터 프레임을 두 개의 열로 병합합니다.

  16. 16

    2 개의 데이터 프레임을 병합하고 업데이트하는 방법

  17. 17

    R에서 다중 일치를 수행 한 후 2 데이터 프레임의 열 값을 곱하는 방법

  18. 18

    NaN을 이전 값으로 채우는 Pandas 데이터 프레임의 2 개 열 병합

  19. 19

    데이터 프레임의 2 개 열에있는 값을 비교하는 방법

  20. 20

    3 개 열을 기준으로 2 개의 데이터 프레임을 비교하고 두 번째 데이터를 업데이트합니다.

  21. 21

    두 개의 데이터 프레임을 왼쪽 병합하고 Pandas에서 NaN 값만 채 웁니다.

  22. 22

    2 개의 다른 열을 참조하여 데이터 프레임 열의 중앙값을 계산합니다.

  23. 23

    2 개의 다른 조회 데이터 프레임의 값을 사용하여 하나의 데이터 프레임에서 데이터를 추출하는 Pandas

  24. 24

    R에서 2 개 데이터 프레임의 고유 한 값 식별

  25. 25

    한 데이터 프레임에서 다른 데이터 프레임의 열 값을 대치하는 방법

  26. 26

    Pandas 데이터 프레임에서 값을 열로 할당하여 데이터 프레임의 행 그룹화

  27. 27

    R에서 목록 값을 포함하는 2 개의 서로 다른 데이터 프레임을 병합하는 방법

  28. 28

    데이터 프레임의 두 열을 키 값 쌍으로 이미 존재하는 사전 열에 병합

  29. 29

    열의 값에 팬더 데이터 프레임 병합

뜨겁다태그

보관