와이즈 위즈
, id,
dfL
내에서 일련의 연속 번호를 식별하려고합니다.
및 세그먼트,
id
변수
shift
에서
. 숫자
PM
가 포함 된 일련의 연속 숫자를 찾고 있습니다.
그리고
-1
그리고
1
의 길이가
이상.
데이터가 포함 된 상황을 보여줍니다.
4
처음에는 이와 같은 넓은 형식의 데이터가 있습니다.
# install.packages(c("tidyverse"), dependencies = TRUE)
library(tibble)
이
dfa <- tibble(id = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
1, 1, 1, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7),
PM01 = c(NA, -3, NA, -2, -1, 1, 2, NA, NA, -2, -1, NA, -3, -2, -1,
1, 2, 3, NA, NA, -2, -1, 1, 2, 3, NA, NA, NA, NA, NA),
PM02 = c(1, -2, NA, NA, NA, -3, -2, -1, NA, 1, 2, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, -1, 1, 2, NA, NA, NA, NA, NA),
PM03 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, -3, -2, -1, 1, 2, 3, NA, NA)
);dfa
#> # A tibble: 30 x 4
#> id PM01 PM02 PM03
#> <dbl> <dbl> <dbl> <dbl>
#> 1 0 NA 1 NA
#> 2 0 -3 -2 NA
#> 3 0 NA NA NA
#> 4 0 -2 NA NA
#> 5 0 -1 NA NA
#> 6 0 1 -3 NA
#> 7 0 2 -2 NA
#> 8 0 NA -1 NA
#> 9 0 NA NA NA
#> 10 0 -2 1 NA
#> # ... with 20 more rows
에서
행
PM01
일치합니다.
와이즈 비츠 데이터는 하나의 벡터 만 가지고 있기 때문에 오래갑니다. 이렇게
4-7
내가 찾고있는 것을 설명하려고했지만 원하는 결과 만 보여 주면 더 명확해질 수 있다는 것을 알게되었습니다. 이렇게
tidyr::gather
# install.packages(c("tidyverse"), dependencies = TRUE)
library(tidyr)
dfL <- dfa %>% select(id, PM01:PM03) %>% gather(shift, PM, PM01:PM03, na.rm = FALSE) %>% arrange(id, shift) %>% group_by(id, shift)
- 답변 # 1
관련 자료
- python - 연속되지 않은 숫자를 연속으로 변환하는 방법은 무엇입니까?
- python - 오름차순 열을 연속적으로 만드는 방법은 무엇입니까?
- python - 특정 값을 포함하는 연속 숫자 만 유지하는 방법
- mysql - 10 분 안에 연속적인 거래 찾기
- sql - 연속 날짜로부터 시작 및 종료 날짜 식별
- r - 그것이 거리의 13 숫자의 시퀀스 내에있는 경우 관찰 1
- dictionary - map/forEach 내에서 현재 색인을 식별하는 방법이 있습니까
- algorithm - 파이썬이있는 파일에서 연속 숫자의 경로를 어떻게 찾을 수 있습니까?
- 파이썬으로 연속 줄에서 숫자의 패턴을 어떻게 찾을 수 있습니까?
- r - 데이터 프레임의 NA를 범위 내의 난수로 바꿉니다
- java - 배열에서 연속 된 숫자의 가장 큰 합계 찾기
- javascript - TypeScript 문자열에서 일련의 숫자 구문 분석
- 연속적인 숫자 필터링
- python - 일부 범위 내에서 01 씩 증가하는 연속적인 숫자 목록 생성
- 변수 이름, 함수 호출 등을 식별하기 위해 파이썬 코드 내에서 파이썬 코드 *를 분석하는 방법
- scala - 일련의 숫자가 허용 범위 내에 있는지 확인
- python - 객체 피처 내 숫자 사이에서 텍스트를 바꾸는 방법
- python - 연속 된 행의 특정 숫자 시퀀스를 다른 시퀀스로 바꾸는 방법
- assembly - 50과 259 범위 내에서 한 번, 50과 159 범위 내에서 두 개의 난수를 생성하는 방법
- dart - List 에서 연속 된 숫자의 평균 길이
효율에 관계없이이 작업을 수행 할 수 있습니다.
dfL
에서 시작 연속NA
를 식별하는 새 그룹 변수를 작성하십시오. 또는 비 -NA
청크를 선택한 다음 각 청크 내의 조건을 확인하여 조건 열을 추가합니다.