동일한 ID를 가진 행을 결합하고 중복 된 행 삭제

안드레 엘리코

일부 데이터를 병합 한 후 ID 당 여러 행이 있습니다. 데이터가 다른 경우에만 여러 개의 동일한 ID를 유지하고 싶습니다. NA값 colwise 모든 데이터 포인트와 동일한 것으로 간주한다.

데이터:

df <- structure(list(id = c(1L, 2L, 2L, 2L, 3L, 3L, 4L, 4L, 4L, 5L), 
    v1 = structure(c(1L, 1L, NA, 1L, 1L, 1L, 1L, NA, 1L, 1L), .Label = "a", class = "factor"), 
    v2 = structure(c(1L, 2L, 2L, 3L, 1L, 1L, 1L, 1L, NA, 1L), .Label = c("a", 
    "b", "c"), class = "factor"), v3 = structure(c(1L, 1L, 1L, 
    1L, 1L, 1L, NA, 2L, 2L, 1L), .Label = c("a", "b"), class = "factor")), .Names = c("id", 
"v1", "v2", "v3"), row.names = c(NA, -10L), class = "data.frame")

다음과 같이 보입니다.

   id   v1   v2   v3
    1    a    a    a
    2    a    b    a
    2 <NA>    b    a
    2    a    c    a
    3    a    a    a
    3    a    a    a
    4    a    a <NA>
    4 <NA>    a    b
    4    a <NA>    b
    5    a    a    a

원하는 출력 :

   id   v1   v2   v3
    1    a    a    a
    2    a    b    a
    2    a    c    a
    3    a    a    a
    4    a    a    b
    5    a    a    a

data.table해결책 이 있으면 행복합니다 .

Jaap

data.table-package를 사용하는 가능한 솔루션 :

library(data.table)
setDT(df)[, lapply(.SD, function(x) unique(na.omit(x))), by = id]

다음을 제공합니다.

   id v1 v2 v3
1:  1  a  a  a
2:  2  a  b  a
3:  2  a  c  a
4:  3  a  a  a
5:  4  a  a  b
6:  5  a  a  a

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

중복 된 ID가있는 행 삭제

분류에서Dev

중복을 삭제하지만 삭제 된 행에 대한 참조는 유지

분류에서Dev

테이블에서 동일한 값을 가진 중복 행을 삭제하지만 SQL Server에서는 한 행 유지

분류에서Dev

MySql 행을 복제하고 중복 된 필드의 일부를 바꿉니다.

분류에서Dev

동일한 텍스트가있는 중복 행 삭제

분류에서Dev

동일한 테이블을 결합하여 일부 ID에 대해 중복 행을 가져옵니다.

분류에서Dev

동일한 ID를 가진 행을 목록으로 결합하는 방법

분류에서Dev

열에서 동일한 내용을 가진 연속 중복 행을 제거하는 데이터 프레임

분류에서Dev

CSV는 동일한 ID를 가진 일부 행을 결합합니다.

분류에서Dev

다른 행에서 동일한 값을 가진 SQL 행 삭제

분류에서Dev

SQL 매일 데이터를 새 ID 및 삭제 된 ID를 포함하여 동일한 행에 조인하는 가장 좋은 방법

분류에서Dev

하위 배열을 단일 배열로 병합하고 레일에서 루비를 사용하여 동일한 ID를 가진 경우 중복 제거

분류에서Dev

여러 행의 ID가 동일한 경우 행을 삭제하려면 어떻게합니까

분류에서Dev

실행중인 프로세스의 삭제 된 바이너리 실행 파일을 복구하는 방법

분류에서Dev

MySQL 쿼리, 동일한 값을 가진 행 수를 5 개 결과로 제한

분류에서Dev

동일한 행 ID를 가진 행 합계

분류에서Dev

단일 사용자에 대해 가장 오래된 20 개를 제외한 모든 행을 삭제합니다.

분류에서Dev

각 ID의 데이터를 하나의 행에 결합하고 중복 제거

분류에서Dev

VBA Excel은 동일한 ID를 가진 모든 도형을 선택 및 삭제하고 제거합니다.

분류에서Dev

중복 된 행을 삭제하고 유지할 특정 값 선택

분류에서Dev

동일한 열 이름을 가진 여러 행 삭제

분류에서Dev

동일한 열 이름을 가진 여러 행 삭제

분류에서Dev

SQL 14에서 동일한 값을 가진 여러 행 삭제

분류에서Dev

SQL 쿼리 : 동일한 값을 가진 PostgreSQL에서 행 삭제

분류에서Dev

동일한 ID를 가진 여러 행을 SQL Server와 병합하는 방법

분류에서Dev

Pandas는 한 열에 대해 고유 한 값을 가진 행을 삭제하지만 다른 모든 열에는 중복됩니다.

분류에서Dev

R의 데이터 프레임에 중복 된 값과 ID가있는 경우 전체 행을 삭제하는 방법

분류에서Dev

동일한 ID를 가진 열을 한 행에 표시하는 방법

분류에서Dev

동일한 ID를 가진 MySQL SUM 행

Related 관련 기사

  1. 1

    중복 된 ID가있는 행 삭제

  2. 2

    중복을 삭제하지만 삭제 된 행에 대한 참조는 유지

  3. 3

    테이블에서 동일한 값을 가진 중복 행을 삭제하지만 SQL Server에서는 한 행 유지

  4. 4

    MySql 행을 복제하고 중복 된 필드의 일부를 바꿉니다.

  5. 5

    동일한 텍스트가있는 중복 행 삭제

  6. 6

    동일한 테이블을 결합하여 일부 ID에 대해 중복 행을 가져옵니다.

  7. 7

    동일한 ID를 가진 행을 목록으로 결합하는 방법

  8. 8

    열에서 동일한 내용을 가진 연속 중복 행을 제거하는 데이터 프레임

  9. 9

    CSV는 동일한 ID를 가진 일부 행을 결합합니다.

  10. 10

    다른 행에서 동일한 값을 가진 SQL 행 삭제

  11. 11

    SQL 매일 데이터를 새 ID 및 삭제 된 ID를 포함하여 동일한 행에 조인하는 가장 좋은 방법

  12. 12

    하위 배열을 단일 배열로 병합하고 레일에서 루비를 사용하여 동일한 ID를 가진 경우 중복 제거

  13. 13

    여러 행의 ID가 동일한 경우 행을 삭제하려면 어떻게합니까

  14. 14

    실행중인 프로세스의 삭제 된 바이너리 실행 파일을 복구하는 방법

  15. 15

    MySQL 쿼리, 동일한 값을 가진 행 수를 5 개 결과로 제한

  16. 16

    동일한 행 ID를 가진 행 합계

  17. 17

    단일 사용자에 대해 가장 오래된 20 개를 제외한 모든 행을 삭제합니다.

  18. 18

    각 ID의 데이터를 하나의 행에 결합하고 중복 제거

  19. 19

    VBA Excel은 동일한 ID를 가진 모든 도형을 선택 및 삭제하고 제거합니다.

  20. 20

    중복 된 행을 삭제하고 유지할 특정 값 선택

  21. 21

    동일한 열 이름을 가진 여러 행 삭제

  22. 22

    동일한 열 이름을 가진 여러 행 삭제

  23. 23

    SQL 14에서 동일한 값을 가진 여러 행 삭제

  24. 24

    SQL 쿼리 : 동일한 값을 가진 PostgreSQL에서 행 삭제

  25. 25

    동일한 ID를 가진 여러 행을 SQL Server와 병합하는 방법

  26. 26

    Pandas는 한 열에 대해 고유 한 값을 가진 행을 삭제하지만 다른 모든 열에는 중복됩니다.

  27. 27

    R의 데이터 프레임에 중복 된 값과 ID가있는 경우 전체 행을 삭제하는 방법

  28. 28

    동일한 ID를 가진 열을 한 행에 표시하는 방법

  29. 29

    동일한 ID를 가진 MySQL SUM 행

뜨겁다태그

보관