dplyr을 사용하여 r에서 조건이 다른 다른 그룹에서 새 변수를 만드는 방법

리 지웨이

조건이 다른 여러 그룹의 데이터 프레임에 새 변수를 추가하고 싶습니다. 내 데이터는 다음과 같습니다.

test <- data.frame(country =rep( letters[1:5], each = 10),
                   time = seq(from = as.Date('2020-01-01'), to = as.Date('2020-02-19'), by = 'day')) %>% mutate(time = as.Date(time))

lockdown_time <- data.frame(country = letters[1:4],
                            start_time = c('2020-01-06', '2020-01-16', '2020-01-26', '2020-02-05'),
                            end_time = c('2020-01-08','2020-01-18','2020-01-28','2020-02-07')) 

내가 사용하는 것이 country == 'a'예를 들어 :

# use country a as an example 

test_a <- test  %>%  filter(country == 'a')

start_time_a <- lockdown_time[1,2] %>% as.Date()

end_time_a <- lockdown_time[1,3] %>% as.Date()


test_a %>% mutate(lockdown = case_when(between(time, start_time_a, end_time_a) ~ 1, T ~ 0))

lockdown모든 국가에서 새 변수 를 하나씩 추가하는 방법을 알고 있지만이를 수행하는 효율적인 방법이 있는지 궁금합니다. 어떤이 있음을주의 country == 'e'에서 lockdown_time생성 된, 그래서 dataframe을 lockdown에 변수가 country == 'e'모두 있어야합니다 NA.

대런 차이

당신은 사용할 수 있습니다 >=<=날짜가 지정된 범위 내에있는 경우를 식별 할 수 있습니다.

library(dplyr)

test %>% 
  left_join(lockdown_time, by = "country") %>% 
  mutate(start_time = as.Date(start_time), end_time = as.Date(end_time),
         lockdown = + (time >= start_time & time <= end_time)) %>%
  select(-ends_with("_time"))

또는 between()함께 사용rowwise()

test %>% 
  left_join(lockdown_time, by = "country") %>% 
  mutate(start_time = as.Date(start_time), end_time = as.Date(end_time)) %>%
  rowwise() %>% 
  mutate(lockdown = + between(time, start_time, end_time)) %>%
  select(-ends_with("_time")) %>%
  ungroup()

산출

# A tibble: 50 x 3
   country time       lockdown
   <chr>   <date>        <int>
 1 a       2020-01-01        0
 2 a       2020-01-02        0
 3 a       2020-01-03        0
 4 a       2020-01-04        0
 5 a       2020-01-05        0
 6 a       2020-01-06        1
 7 a       2020-01-07        1
 8 a       2020-01-08        1
 9 a       2020-01-09        0
10 a       2020-01-10        0
11 b       2020-01-11        0
12 b       2020-01-12        0
13 b       2020-01-13        0
14 b       2020-01-14        0
15 b       2020-01-15        0
16 b       2020-01-16        1
17 b       2020-01-17        1
18 b       2020-01-18        1
19 b       2020-01-19        0
20 b       2020-01-20        0
⠇
46 e       2020-02-15       NA
47 e       2020-02-16       NA
48 e       2020-02-17       NA
49 e       2020-02-18       NA
50 e       2020-02-19       NA

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

R에서 다른 조건에 따라 새 변수를 만드는 방법

분류에서Dev

dplyr에서 다른 변수의 최소값으로 하나의 조건 (is.na)을 기반으로 새 변수를 만드는 방법은 무엇입니까?

분류에서Dev

다른 열 r에서 여러 변수를 사용하여 새 열을 변경하는 방법

분류에서Dev

dplyr mutate를 사용하여 ifelse에서 다른 열을 참조하는 방법

분류에서Dev

R에서 dplyr을 사용하여 다른 열의 값을 기반으로 새 열을 만드는 방법이 있습니까?

분류에서Dev

R에서 루프가있는 다른 변수 이름을 사용하여 새 변수 만들기

분류에서Dev

R 데이터 프레임에서 조건에 새로 생성 된 변수를 사용하여 다른 변수를 생성 할 수없는 이유

분류에서Dev

dplyr을 사용하여 R에서 다른 두 열의 발생에 따라 새 열을 만드는 방법은 무엇입니까?

분류에서Dev

새 / 다른 VOB 이름을 사용하여 VOB를 새 서버 (CentOS)로 이동하는 방법

분류에서Dev

다른 열 그룹이 있는지 여부에 따라 새 열을 만드는 방법

분류에서Dev

조건부 선택을 사용하여 다른 테이블에서 테이블에 삽입하는 방법

분류에서Dev

다른 조건이있는 다른 테이블을로드하기 위해 gridview를 새로 고치는 방법

분류에서Dev

dplyr을 사용하여 다른 (그룹화 된) 열에 대한 조건으로 여러 열을 요약하는 방법은 무엇입니까?

분류에서Dev

조건 하에서 Python에서 다른 csv 파일을 만드는 방법

분류에서Dev

팬더는 조건을 사용하여 하나의 df에서 다른 df로 새 값만 삽입합니다.

분류에서Dev

R에서 mutate 함수를 사용하여 데이터 프레임의 다른 이진 변수를 기반으로 새 이진 변수를 만드는 방법은 무엇입니까?

분류에서Dev

R에서 다중 조건을 사용하여 피벗에서 데이터를 구성하는 방법

분류에서Dev

다른 사람 사이에 새 파일 이름을 삽입하는 bash에서 함수를 만드는 방법은 무엇입니까?

분류에서Dev

VB.NET에서 변수 그룹을 사용하여 조건문을 만드는 방법

분류에서Dev

키-값 쌍으로 사용하여 (동일한 길이 및 동일한 키) 두 개의 다른 사전 값에서 새 사전을 만드는 방법

분류에서Dev

dplyr에서 다른 그룹화 변수를 사용하여 요약

분류에서Dev

다른 변수를 사용하여 Github Actions에서 환경 변수를 만드는 방법

분류에서Dev

케이스에 누락 된 값이 있고 다른 변수에 관찰 된 값이있는 경우 1을 반환하는 R에서 새 변수를 만드는 방법은 무엇입니까?

분류에서Dev

케이스에 누락 된 값이 있고 다른 변수에 관찰 된 값이있는 경우 1을 반환하는 R에서 새 변수를 만드는 방법은 무엇입니까?

분류에서Dev

조건이 충족되는 경우 다른 사전에서 사전을 만드는 방법

분류에서Dev

sed를 사용하여 다른 파일에서 새 줄을 추가하는 방법

분류에서Dev

다른 열을 참조하는 방정식을 사용하는 R에서 새 열 만들기

분류에서Dev

내부 조인을 사용하여 다른 테이블에서 레코드를 가져 오는 방법

분류에서Dev

R에서 조건부로 다른 열을 요약하여 새 데이터 프레임을 재구성하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    R에서 다른 조건에 따라 새 변수를 만드는 방법

  2. 2

    dplyr에서 다른 변수의 최소값으로 하나의 조건 (is.na)을 기반으로 새 변수를 만드는 방법은 무엇입니까?

  3. 3

    다른 열 r에서 여러 변수를 사용하여 새 열을 변경하는 방법

  4. 4

    dplyr mutate를 사용하여 ifelse에서 다른 열을 참조하는 방법

  5. 5

    R에서 dplyr을 사용하여 다른 열의 값을 기반으로 새 열을 만드는 방법이 있습니까?

  6. 6

    R에서 루프가있는 다른 변수 이름을 사용하여 새 변수 만들기

  7. 7

    R 데이터 프레임에서 조건에 새로 생성 된 변수를 사용하여 다른 변수를 생성 할 수없는 이유

  8. 8

    dplyr을 사용하여 R에서 다른 두 열의 발생에 따라 새 열을 만드는 방법은 무엇입니까?

  9. 9

    새 / 다른 VOB 이름을 사용하여 VOB를 새 서버 (CentOS)로 이동하는 방법

  10. 10

    다른 열 그룹이 있는지 여부에 따라 새 열을 만드는 방법

  11. 11

    조건부 선택을 사용하여 다른 테이블에서 테이블에 삽입하는 방법

  12. 12

    다른 조건이있는 다른 테이블을로드하기 위해 gridview를 새로 고치는 방법

  13. 13

    dplyr을 사용하여 다른 (그룹화 된) 열에 대한 조건으로 여러 열을 요약하는 방법은 무엇입니까?

  14. 14

    조건 하에서 Python에서 다른 csv 파일을 만드는 방법

  15. 15

    팬더는 조건을 사용하여 하나의 df에서 다른 df로 새 값만 삽입합니다.

  16. 16

    R에서 mutate 함수를 사용하여 데이터 프레임의 다른 이진 변수를 기반으로 새 이진 변수를 만드는 방법은 무엇입니까?

  17. 17

    R에서 다중 조건을 사용하여 피벗에서 데이터를 구성하는 방법

  18. 18

    다른 사람 사이에 새 파일 이름을 삽입하는 bash에서 함수를 만드는 방법은 무엇입니까?

  19. 19

    VB.NET에서 변수 그룹을 사용하여 조건문을 만드는 방법

  20. 20

    키-값 쌍으로 사용하여 (동일한 길이 및 동일한 키) 두 개의 다른 사전 값에서 새 사전을 만드는 방법

  21. 21

    dplyr에서 다른 그룹화 변수를 사용하여 요약

  22. 22

    다른 변수를 사용하여 Github Actions에서 환경 변수를 만드는 방법

  23. 23

    케이스에 누락 된 값이 있고 다른 변수에 관찰 된 값이있는 경우 1을 반환하는 R에서 새 변수를 만드는 방법은 무엇입니까?

  24. 24

    케이스에 누락 된 값이 있고 다른 변수에 관찰 된 값이있는 경우 1을 반환하는 R에서 새 변수를 만드는 방법은 무엇입니까?

  25. 25

    조건이 충족되는 경우 다른 사전에서 사전을 만드는 방법

  26. 26

    sed를 사용하여 다른 파일에서 새 줄을 추가하는 방법

  27. 27

    다른 열을 참조하는 방정식을 사용하는 R에서 새 열 만들기

  28. 28

    내부 조인을 사용하여 다른 테이블에서 레코드를 가져 오는 방법

  29. 29

    R에서 조건부로 다른 열을 요약하여 새 데이터 프레임을 재구성하는 방법은 무엇입니까?

뜨겁다태그

보관