R에 dplyr 그룹에 의해 가능한 모든 값으로 NA를 채우는 방법이 있습니까?

biostatguy12

내가 가지고 있다고 :

df<-data.frame(ID=c('1', '1', '1', '1', '1', '1', '1'),
              int=c(NA,NA,1,2,3,2, NA),
               ab=c('a', 'a', 'b', 'b', 'b', 'b', 'c'))
df
  ID int ab
1  1  NA  a
2  1  NA  a
3  1   1  b
4  1   2  b
5  1   3  b
6  1   2  b
7  1  NA  c

int비 NA 그룹에 대한 모든 값에 대해 추가 행을 삽입해야하는 ab다른 값으로 확장하고 싶습니다 ab. 따라서 ab == a 및 ab == c에 대해 1, 2 및 3 값이 표시되기를 원합니다. 다음과 같은 것 :

dfwant<-data.frame(ID=c('1','1', '1', '1', '1', '1', '1', '1', '1', '1'),
               int=c(NA, NA,NA,1,2,3,2, NA, NA, NA),
               ab=c('a','a', 'a', 'b', 'b', 'b', 'b', 'c', 'c', 'c'),
               want=c(1,2,3,1,2,3,2, 1,2,3))
   ID int ab want
1   1  NA  a    1
2   1  NA  a    2
3   1  NA  a    3
4   1   1  b    1
5   1   2  b    2
6   1   3  b    3
7   1   2  b    2
8   1  NA  c    1
9   1  NA  c    2
10  1  NA  c    3

다른 방법이있을 수 있지만 .NET 내부의 int모든 ab과 연결된 1, 2, 3 값 을 갖고 싶습니다 ID. 열이 더 필요할 수도 있습니다. 도와주세요.

편집 : 또한 고유 번호가 다른 다른 그룹에서 작동하기를 원합니다 int.

df<-data.frame(ID=c('1', '1', '1', '1', '1', '1', '1', '2', '2', '2', '2', '2', '2', '2'),
               int=c(NA,NA,1,2,3,2, NA, NA,NA,5,6,7,8, NA),
               ab=c('a', 'a', 'b', 'b', 'b', 'b', 'c', 'd', 'd', 'e', 'e', 'e', 'e', 'f'))

   ID int ab
1   1  NA  a
2   1  NA  a
3   1   1  b
4   1   2  b
5   1   3  b
6   1   2  b
7   1  NA  c
8   2  NA  d
9   2  NA  d
10  2   5  e
11  2   6  e
12  2   7  e
13  2   8  e
14  2  NA  f



   ID want ab
1   1    1  a
2   1    2  a
3   1    3  a
4   1    1  b
5   1    2  b
6   1    3  b
7   1    2  b
8   1    1  c
9   1    2  c
10  1    3  c
11  2    5  d
12  2    6  d
13  2    7  d
14  2    8  d
15  2    5  e
16  2    6  e
17  2    7  e
18  2    8  e
19  2    5  f
20  2    6  f
21  2    7  f
22  2    8  f
Akrun

한 가지 옵션은 complete

library(dplyr)
library(tidyr)
df %>%
    mutate(want = int) %>%
    group_by(ID, ab) %>%
    complete(want =  unique(na.omit(.$want))) %>% 
    filter(!is.na(want))
# A tibble: 10 x 4
# Groups:   ID, ab [3]
#   ID    ab     want   int
#   <fct> <fct> <dbl> <dbl>
# 1 1     a         1    NA
# 2 1     a         2    NA
# 3 1     a         3    NA
# 4 1     b         1     1
# 5 1     b         2     2
# 6 1     b         2     2
# 7 1     b         3     3
# 8 1     c         1    NA
# 9 1     c         2    NA
#10 1     c         3    NA

업데이트 된 데이터

library(purrr)
df %>%
     mutate(want = int) %>%
     group_split(ID = as.character(ID)) %>%
     map_dfr(~ .x %>% 
                   group_by(ab) %>%
                   complete(want =  unique(na.omit(.$want))) %>%
                   filter(!is.na(want))) %>%
     ungroup %>%
     fill(ID, .direction = 'downup')
# A tibble: 22 x 4
#   ab     want ID      int
#   <fct> <dbl> <chr> <dbl>
# 1 a         1 1        NA
# 2 a         2 1        NA
# 3 a         3 1        NA
# 4 b         1 1         1
# 5 b         2 1         2
# 6 b         2 1         2
# 7 b         3 1         3
# 8 c         1 1        NA
# 9 c         2 1        NA
#10 c         3 1        NA
# … with 12 more rows

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

연속 조건을 충족하고 r에서 모든 값을 앞으로 이동할 때까지 NA를 채우는 방법이 있습니까?

분류에서Dev

그룹별로 모든 변수에 대한 모든 비 NA 값의 개수를 얻는 방법은 무엇입니까?

분류에서Dev

그룹 모드로 팬더에 na를 채우는 방법

분류에서Dev

각 행의 값을 기반으로 데이터베이스에서 데이터를 가져 오는 마우스 오버 기능이 있습니다. 그러나 모든 행에 대해 동일한 값을 반환합니다.

분류에서Dev

NA를 r의 각 그룹에 대해 동일한 열의 다른 행에있는 값으로 바꿉니다.

분류에서Dev

dplyr 요약 함수 결과를 모든 행에 추가하는 간단한 방법이 있습니까?

분류에서Dev

n 명의 사용자를 k 개의 그룹에 넣는 가능한 모든 방법을 만듭니다.

분류에서Dev

그룹의 모든 사람이 읽은 후에 만 quickblox 그룹 채팅에서 메시지 읽기 상태가되는 방법이 있습니까?

분류에서Dev

Chapel에서 희소 배열을 임의의 값으로 채우는 편리한 방법이 있습니까?

분류에서Dev

각 그룹에 대해 최대 값으로 모든 레코드를 가져 오는 방법

분류에서Dev

그룹 길이와 R의 그룹 내 요소의 가능한 모든 조합에서 목록을 n 그룹으로 분할하는 방법은 무엇입니까?

분류에서Dev

파이썬에서 DataFrame의 모든 이동 행에 대한 특정 값으로 이동하고 채우는 방법은 무엇입니까?

분류에서Dev

R의 그룹에서 한 값과 다른 모든 값의 평균 차이를 계산하는 방법

분류에서Dev

R에서 입력으로 가져온 모든 값을 연결하는 방법이 있습니까?

분류에서Dev

SilverStripe에서 has_many의 가능한 모든 관계를 기본값으로 설정하는 방법

분류에서Dev

기본적으로 모든 비디오에 대해 vlc가 재생하는 비디오의 오디오를 음소거하는 방법이 있습니까?

분류에서Dev

테이블의 모든 숫자 열에 대해 가장 큰 값을 찾는 방법이 있습니까?

분류에서Dev

R의 data.frame에서 한 열에 두 개의 지정된 값이있는 경우 한 그룹의 모든 행을 유지하는 방법

분류에서Dev

변수 제한에 도달하면 그룹의 모든 값을 필터링하는 방법 (dplyr 사용)?

분류에서Dev

셀에 대해 가능한 모든 값을 기반으로 여러 스프레드 시트를 저장하는 방법은 무엇입니까?

분류에서Dev

부모 열 값을 기반으로 부모를 포함한 모든 자식 레코드에 대해 사실 열 (스크린 샷)을 채우는 방법

분류에서Dev

Data.Table의 모든 NA 또는 R의 DPLYR이있는 그룹 제거

분류에서Dev

r에있는 그룹의 모든 값에서 최대 값을 빼는 방법

분류에서Dev

SQL Server 뷰의 모든 열에 대한 해시를 계산하는 방법이 있습니까?

분류에서Dev

R-dplyr-열별로 그룹화하고 주어진 그룹에 대해 NA 만있는 경우 NA를 유지하는 합계를 계산합니다.

분류에서Dev

R에서 그룹화 된 평균으로 NA 값을 채우는 방법

분류에서Dev

모든 열에 대해 비슷한 값의 값을 평균으로 바꾸는 방법은 무엇입니까?

분류에서Dev

파이썬에서 재귀를 통해 살아남는 목록에 문제가 있습니다. 그래프에서 가능한 모든 경로 찾기

분류에서Dev

VBA를 사용하는 XL에서 통합 문서의 모든 테이블을 단계별로 실행하고 모든 셀 값을 0으로 설정하는 간단한 방법이 있습니까?

Related 관련 기사

  1. 1

    연속 조건을 충족하고 r에서 모든 값을 앞으로 이동할 때까지 NA를 채우는 방법이 있습니까?

  2. 2

    그룹별로 모든 변수에 대한 모든 비 NA 값의 개수를 얻는 방법은 무엇입니까?

  3. 3

    그룹 모드로 팬더에 na를 채우는 방법

  4. 4

    각 행의 값을 기반으로 데이터베이스에서 데이터를 가져 오는 마우스 오버 기능이 있습니다. 그러나 모든 행에 대해 동일한 값을 반환합니다.

  5. 5

    NA를 r의 각 그룹에 대해 동일한 열의 다른 행에있는 값으로 바꿉니다.

  6. 6

    dplyr 요약 함수 결과를 모든 행에 추가하는 간단한 방법이 있습니까?

  7. 7

    n 명의 사용자를 k 개의 그룹에 넣는 가능한 모든 방법을 만듭니다.

  8. 8

    그룹의 모든 사람이 읽은 후에 만 quickblox 그룹 채팅에서 메시지 읽기 상태가되는 방법이 있습니까?

  9. 9

    Chapel에서 희소 배열을 임의의 값으로 채우는 편리한 방법이 있습니까?

  10. 10

    각 그룹에 대해 최대 값으로 모든 레코드를 가져 오는 방법

  11. 11

    그룹 길이와 R의 그룹 내 요소의 가능한 모든 조합에서 목록을 n 그룹으로 분할하는 방법은 무엇입니까?

  12. 12

    파이썬에서 DataFrame의 모든 이동 행에 대한 특정 값으로 이동하고 채우는 방법은 무엇입니까?

  13. 13

    R의 그룹에서 한 값과 다른 모든 값의 평균 차이를 계산하는 방법

  14. 14

    R에서 입력으로 가져온 모든 값을 연결하는 방법이 있습니까?

  15. 15

    SilverStripe에서 has_many의 가능한 모든 관계를 기본값으로 설정하는 방법

  16. 16

    기본적으로 모든 비디오에 대해 vlc가 재생하는 비디오의 오디오를 음소거하는 방법이 있습니까?

  17. 17

    테이블의 모든 숫자 열에 대해 가장 큰 값을 찾는 방법이 있습니까?

  18. 18

    R의 data.frame에서 한 열에 두 개의 지정된 값이있는 경우 한 그룹의 모든 행을 유지하는 방법

  19. 19

    변수 제한에 도달하면 그룹의 모든 값을 필터링하는 방법 (dplyr 사용)?

  20. 20

    셀에 대해 가능한 모든 값을 기반으로 여러 스프레드 시트를 저장하는 방법은 무엇입니까?

  21. 21

    부모 열 값을 기반으로 부모를 포함한 모든 자식 레코드에 대해 사실 열 (스크린 샷)을 채우는 방법

  22. 22

    Data.Table의 모든 NA 또는 R의 DPLYR이있는 그룹 제거

  23. 23

    r에있는 그룹의 모든 값에서 최대 값을 빼는 방법

  24. 24

    SQL Server 뷰의 모든 열에 대한 해시를 계산하는 방법이 있습니까?

  25. 25

    R-dplyr-열별로 그룹화하고 주어진 그룹에 대해 NA 만있는 경우 NA를 유지하는 합계를 계산합니다.

  26. 26

    R에서 그룹화 된 평균으로 NA 값을 채우는 방법

  27. 27

    모든 열에 대해 비슷한 값의 값을 평균으로 바꾸는 방법은 무엇입니까?

  28. 28

    파이썬에서 재귀를 통해 살아남는 목록에 문제가 있습니다. 그래프에서 가능한 모든 경로 찾기

  29. 29

    VBA를 사용하는 XL에서 통합 문서의 모든 테이블을 단계별로 실행하고 모든 셀 값을 0으로 설정하는 간단한 방법이 있습니까?

뜨겁다태그

보관