R에서 중첩 된 for 루프없이 함수 집합을 반복하는 방법은 무엇입니까?

ljh2001

루프에 대한 함수와 대안을 만드는 데 매우 익숙하지만 데이터 프레임에서 dplyr 함수 집합을 실행하려고합니다. 그러나 데이터 프레임은 송신기와 스테이션별로 분할해야합니다. 현재 중첩 된 for 루프를 사용하고 있지만 예상대로이 작업은 매우 오래 걸리고 효율적이지 않습니다. 내 데이터의 구조는 다음과 같습니다.

> str(example)
> str(Det17)
'data.frame':   43423 obs. of  3 variables:
 $ DateTime   : POSIXct, format: "2017-07-31 02:57:42" "2017-07-31 13:10:27" "2017-08-09 09:52:12" "2017-07-31 02:59:30" ...
 $ Transmitter: Factor w/ 58 levels "1657","1658",..: 38 38 46 38 38 38 38 29 38 38 ...
 $ Station    : Factor w/ 41 levels "A0","A1","A2",..: 35 35 35 35 35 35 35 35 35 35 ...
> 

내가 시도하고있는 코드는 다음과 같습니다.

for( i in Det17$Station){
  for( j in Det17$Transmitter){



Example <- Det17%>%
  filter(Station == i & Transmitter == j)%>%
  arrange(DateTime)%>%
  mutate(difftime = difftime(lead(DateTime),DateTime, tz = 'EST', units = 'secs'))%>%
  filter(difftime < 30)
      if(length(Example$difftime) > 0) {
        print("TRUE")
        } else {
      next
    }

  }
}

기본적으로 스테이션 및 송신기 레벨의 모든 조합으로 데이터를 필터링하고 싶습니다. 데이터 프레임을 datetime별로 정렬하고 연속 된 두 시간의 차이 인 새 열을 추가하고 30 초 미만의 difftimes로 다시 필터링 한 다음 새 변수의 길이가 0보다 크면 "TRUE"를 인쇄합니다. 이상적으로는 I 어떤 조합이 "TRUE"의 결과를 낳았는지 알 수 있지만 아직 거기에 도달하지 못했습니다.

편집하다:

다음은 루프가 아닌 함수로서의 함수 그룹입니다.

function(x){
  arrange(DateTime)%>%
  mutate(difftime = difftime(lead(DateTime),DateTime, tz = 'EST', units = 'secs'))%>%
  filter(difftime < 30)
      if(length(Example$difftime) > 0) {
        print("TRUE")
        } else {
      next
    }
}
SKyJim

여기서 분할 기능이 유용합니다. 반복하려는 차원으로 데이터 프레임을 분할 할 수 있습니다.

DetSplit <- split(Det17, list(Det17$Station, Det17$Transmitter))

그런 다음 lapply 함수를 사용하여 결과 데이터 프레임 목록에 대해 하나씩 작업 할 수 있습니다.

DetProcessed <- lapply(DetSplit, my_function_name)

그런 다음 모두 함께 묶어

DetProcessed <- data.table::rbindlist(DetProcess)

별도의 개체로 나누는 대신 파이프를 사용하여이 작업을 수행 할 수도 있습니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Python의 재귀 함수에 중첩 된 데이터 프레임 groupby 루프를 통합하는 방법은 무엇입니까?

분류에서Dev

파이썬의 인덱스 경로에서 중첩 된 목록의 값을 반환하는 함수를 작성하는 방법은 무엇입니까?

분류에서Dev

중첩 된 ngFor 루프에서 이온 선택에서 값을 얻는 방법은 무엇입니까?

분류에서Dev

중첩 함수에서 현재 함수를 이전 함수의 반환 된 값에만 고정하는 방법은 무엇입니까?

분류에서Dev

Ruby에서 중첩 while 루프를 사용하여 배열을 반복하는 방법은 무엇입니까?

분류에서Dev

Django REST JSON API : 중첩 된 복합 문서를 포함하는 방법은 무엇입니까?

분류에서Dev

ngFor를 사용하여 Angular에서 중첩 된 json 객체의 알 수없는 수를 반복하는 방법은 무엇입니까?

분류에서Dev

DataReader 열기 오류없이 2 개의 중첩 된 레코드 집합을 반복하는 방법은 무엇입니까?

분류에서Dev

중첩 된 Enum을 포함하여 Enum의 모든 값을 반복하는 방법은 무엇입니까?

분류에서Dev

파이썬에서 중첩 된 함수의 네임 스페이스를 얻는 방법은 무엇입니까?

분류에서Dev

중첩 된 lapply / sapply 함수 내에 값을 추가하는 방법은 무엇입니까?

분류에서Dev

Pytorch에서 중첩 된 for 루프없이 두 포인트 세트 간의 대응을 효율적으로 찾는 방법은 무엇입니까?

분류에서Dev

함수에서 반환 된 값을 확인하고 루프를 다시 반복하는 방법은 무엇입니까?

분류에서Dev

반복기가 호출 된 함수에서 다중 집합의 데이터 유형을 식별하지 않는 이유는 무엇입니까?

분류에서Dev

중첩 된 사전이있는 사전 배열을 반복하는 방법은 무엇입니까?

분류에서Dev

node.js에서 SQL 데이터베이스를 반복하면서 중첩 된 json 배열을 올바르게 만드는 방법은 무엇입니까?

분류에서Dev

R에서 미리 정의 된 구조의 기존 변수 집합에 대해 for 루프 내에서 함수를 적용하는 방법은 무엇입니까?

분류에서Dev

재귀 함수에서 중첩 된 루프의 시간 복잡성은 무엇입니까?

분류에서Dev

따옴표없이 파일에서 중첩 된 목록을로드하는 방법은 무엇입니까?

분류에서Dev

루비에서 중첩 된 조건을 처리하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

중첩 된 if 문을 반복하는 방법은 무엇입니까?

분류에서Dev

이 중첩 된 개체를 반복하는 방법은 무엇입니까?

분류에서Dev

R에서 변수를 포함하는 열 이름을 반복하는 방법은 무엇입니까?

분류에서Dev

중첩 쿼리없이 MySQL에서 그룹 집계를 수행하는 방법은 무엇입니까?

분류에서Dev

데이터 프레임 내에서 중첩 된 json 또는 목록을 켜는 방법은 무엇입니까?

분류에서Dev

파이썬의 중첩 된 for 루프에서 새 데이터 프레임을 생성하는 방법은 무엇입니까?

분류에서Dev

Pine Script의 함수에서 중단이있는 루프에서 값을 얻는 방법은 무엇입니까?

분류에서Dev

중첩 된 for 루프 내에 대각선을 만드는 방법은 무엇입니까?

분류에서Dev

중첩 된 json을 r의 데이터 프레임으로 변환하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    Python의 재귀 함수에 중첩 된 데이터 프레임 groupby 루프를 통합하는 방법은 무엇입니까?

  2. 2

    파이썬의 인덱스 경로에서 중첩 된 목록의 값을 반환하는 함수를 작성하는 방법은 무엇입니까?

  3. 3

    중첩 된 ngFor 루프에서 이온 선택에서 값을 얻는 방법은 무엇입니까?

  4. 4

    중첩 함수에서 현재 함수를 이전 함수의 반환 된 값에만 고정하는 방법은 무엇입니까?

  5. 5

    Ruby에서 중첩 while 루프를 사용하여 배열을 반복하는 방법은 무엇입니까?

  6. 6

    Django REST JSON API : 중첩 된 복합 문서를 포함하는 방법은 무엇입니까?

  7. 7

    ngFor를 사용하여 Angular에서 중첩 된 json 객체의 알 수없는 수를 반복하는 방법은 무엇입니까?

  8. 8

    DataReader 열기 오류없이 2 개의 중첩 된 레코드 집합을 반복하는 방법은 무엇입니까?

  9. 9

    중첩 된 Enum을 포함하여 Enum의 모든 값을 반복하는 방법은 무엇입니까?

  10. 10

    파이썬에서 중첩 된 함수의 네임 스페이스를 얻는 방법은 무엇입니까?

  11. 11

    중첩 된 lapply / sapply 함수 내에 값을 추가하는 방법은 무엇입니까?

  12. 12

    Pytorch에서 중첩 된 for 루프없이 두 포인트 세트 간의 대응을 효율적으로 찾는 방법은 무엇입니까?

  13. 13

    함수에서 반환 된 값을 확인하고 루프를 다시 반복하는 방법은 무엇입니까?

  14. 14

    반복기가 호출 된 함수에서 다중 집합의 데이터 유형을 식별하지 않는 이유는 무엇입니까?

  15. 15

    중첩 된 사전이있는 사전 배열을 반복하는 방법은 무엇입니까?

  16. 16

    node.js에서 SQL 데이터베이스를 반복하면서 중첩 된 json 배열을 올바르게 만드는 방법은 무엇입니까?

  17. 17

    R에서 미리 정의 된 구조의 기존 변수 집합에 대해 for 루프 내에서 함수를 적용하는 방법은 무엇입니까?

  18. 18

    재귀 함수에서 중첩 된 루프의 시간 복잡성은 무엇입니까?

  19. 19

    따옴표없이 파일에서 중첩 된 목록을로드하는 방법은 무엇입니까?

  20. 20

    루비에서 중첩 된 조건을 처리하는 가장 좋은 방법은 무엇입니까?

  21. 21

    중첩 된 if 문을 반복하는 방법은 무엇입니까?

  22. 22

    이 중첩 된 개체를 반복하는 방법은 무엇입니까?

  23. 23

    R에서 변수를 포함하는 열 이름을 반복하는 방법은 무엇입니까?

  24. 24

    중첩 쿼리없이 MySQL에서 그룹 집계를 수행하는 방법은 무엇입니까?

  25. 25

    데이터 프레임 내에서 중첩 된 json 또는 목록을 켜는 방법은 무엇입니까?

  26. 26

    파이썬의 중첩 된 for 루프에서 새 데이터 프레임을 생성하는 방법은 무엇입니까?

  27. 27

    Pine Script의 함수에서 중단이있는 루프에서 값을 얻는 방법은 무엇입니까?

  28. 28

    중첩 된 for 루프 내에 대각선을 만드는 방법은 무엇입니까?

  29. 29

    중첩 된 json을 r의 데이터 프레임으로 변환하는 방법은 무엇입니까?

뜨겁다태그

보관