요소 그룹에서 시간별 데이터를 일별 및 격일로 변환

거품

이 질문이 새로운 것이 아니라는 것을 알고 있지만 제 경우에는 이전 답변에서 완전히 해결할 수없는 몇 가지 특성이 포함되어 있습니다.

R에는 다음 형식의 'df'(1400 만 개의 요소 포함)라는 매우 큰 데이터 프레임이 있습니다.

            ID               datetime    measurem
     1:    1459   2013-01-08 00:00:00        2.24
     2:    1459   2013-01-08 01:00:00        2
     3:    1459   2013-01-08 02:00:00        2.54
     4:    1459   2013-01-08 03:00:00        3.98
     5:    1459   2013-01-08 04:00:00        2
     6:    1459   2013-01-08 05:00:00        2
     7:    1459   2013-01-08 06:00:00        3
             ....
  1007:    2434   2013-01-08 00:00:00        3.45
  1008:    2434   2013-01-08 01:00:00        3
  1009:    2434   2013-01-08 02:00:00        4
  1010:    2434   2013-01-08 03:00:00        5.01
  1011:    2434   2013-01-08 04:00:00        4
            ....
  3245:    4780   2013-01-10 00:00:00        3
  3246:    4780   2013-01-10 01:00:00        4.73
  3247:    4780   2013-01-10 02:00:00        3

df의 구조는 다음과 같습니다.

클래스 'data.table'및 'data.frame': 14103024 obs. 3 개의 변수 중 :$ ID: chr "1459" "1459" ... $ datetime : POSIXct, format: "2013-01-08 00:00:00" "2013-01-08 01:00:00" ... $ measurem: num 2.24 2 2.54 ...

먼저 에너지 데이터 'measurem'을 매일 합계를 취한 다음 격일로 변환하고 (하나는 오전 12 시까 지, 다른 하나는 오후 12 시까 지) ID 열과 날짜를 유지하고 싶습니다. 전체 데이터 프레임이 너무 크기 때문에 상대적으로 빠르게 작동 할 수있는 제안에 감사드립니다.

미리 감사드립니다!

PKumar

내가 올바르게 이해했다면 ID, 날짜 및 오전 / 오후를 기준으로 " measurem "열 을 요약하고 싶은 것 같습니다 . 질문에 샘플 데이터가 없기 때문에 솔루션을 만들기 위해 직접 만들었습니다.

데이터 :

 set.seed(1234)
df <- data.frame(ID=rep(1:5,4),datetime=c("2013-01-08 00:00:00", "2013-01-09 01:00:00", "2013-01-09 13:00:00", "2013-01-08 02:00:00", "2013-01-08 15:00:00",
                                         "2013-01-08 16:00:00", "2013-01-09 01:00:00", "2013-01-09 02:00:00", "2013-01-08 03:00:00", "2013-01-09 18:00:00",
                                         "2013-01-08 14:00:00", "2013-01-09 19:00:00", "2013-01-08 11:00:00", "2013-01-09 10:00:00", "2013-01-08 18:00:00",
                                         "2013-01-09 19:00:00", "2013-01-09 03:00:00", "2013-01-09 02:00:00", "2013-01-09 21:00:00",
                                         "2013-01-09 11:00:00"),measurement=abs(rnorm(20)))

해결책 :

datetime <- as.POSIXlt(df$datetime)
date <- as.Date(datetime)
ind <- ifelse(datetime$hour >= 12,"PM","AM")
df$ind <- ind
df$date <- date

1) data.table 방법 :

library(data.table)
dt <- setDT(df)
dt[,list(count = .N,sum_measure = sum(measurement)),by=list(ID,date,ind)]

2) 기본 R 방식 :

fin <- aggregate(measurement ~ ID + ind + date,data=df,sum)
fin[order(fin$ID),]



 ID ind       date measurement
#  1  AM 2013-01-08  1.20706575
#  1  PM 2013-01-08  0.98324859
#  1  PM 2013-01-09  0.11028549
#  2  AM 2013-01-09  1.36317871
#  2  PM 2013-01-09  0.99838644
#  3  AM 2013-01-08  0.77625389
#  3  AM 2013-01-09  1.45782727
#  3  PM 2013-01-09  1.08444118
#  4  AM 2013-01-08  2.91014970
#  4  AM 2013-01-09  0.06445882
#  4  PM 2013-01-09  0.83717168
#  5  PM 2013-01-08  1.38861875
#  5  AM 2013-01-09  2.41583518
#  5  PM 2013-01-09  0.89003783

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

R의 목록에 시간별 데이터를 일일 데이터로 요약

분류에서Dev

시간별 데이터를 문자열 조건에 따라 일별 데이터로 축소하고 더미 변수 생성

분류에서Dev

밀리 초를 날짜 및 시간 및 로케일 별 형식으로 변환

분류에서Dev

동일한 data.frame에서 여러 그룹, 영역 및 소스에 대한 시간별 데이터를 플로팅하여 여러 선 그래프를 만드시겠습니까?

분류에서Dev

Pandas에서 요일별로 그룹화 된 표준 편차 및 시간 평균 찾기

분류에서Dev

시간 및 요일별로 그룹화 된 시계열 플로팅

분류에서Dev

요일 및 시간별로 Elasticsearch 필터링

분류에서Dev

날짜 별 중첩 목록에서 시간별로 요소를 그룹화합니까?

분류에서Dev

Bash에서 월, 날짜 및 시간별로 로그 파일 필터링

분류에서Dev

간격 및 조건별로 데이터 그룹화

분류에서Dev

R에서 날짜를 개별 날짜 및 시간으로 변환

분류에서Dev

일별 및 시간별 MySql 쿼리 그룹

분류에서Dev

로그 파일에서 시간별 데이터 계산

분류에서Dev

R을 사용하여 연속 시계열 데이터를 일별 시간별 표현으로 변환

분류에서Dev

요일별 매장 시간이 포함 된 그룹 개체

분류에서Dev

SQL에서 시간 간격별로 그룹화 된 보조 요청 분포를 확인합니다.

분류에서Dev

별도의 요일 및 시간 (h)

분류에서Dev

CorePlot : 확대 / 축소에 대한 데이터 소스를 월별에서 일별 ScatterPlot으로 변경

분류에서Dev

일별 데이터를 월별로 변환하고 Pandas에서 월별 마지막 값 가져 오기

분류에서Dev

168 개의 데이터 포인트를 평일의 시간별 플롯 데이터로 변환하는 방법

분류에서Dev

날짜 별 데이터 프레임 그룹화 및 일일 변경 가격에 대한 초 단위 리샘플링

분류에서Dev

일요일부터 시작하는 Linux 타임 스탬프의 주 간격 별 MySQL 그룹

분류에서Dev

게시 된 연도, 일 및 월별로 데이터를 그룹화하는 SQL 및 PHP

분류에서Dev

Hive에서 시간 세션 및 데이터 페이지별로 로그 순서를 정렬하는 방법

분류에서Dev

MYSQL 및 PHP : 데이터 정렬 및 일별 그룹화

분류에서Dev

팬더를 사용하여 bin 및 시간별로 데이터를 이중 그룹화

분류에서Dev

로그 이벤트 범주 및 그룹별로 일별 피벗

분류에서Dev

DB에서 하루 중 시간별 및 요일별 픽업 및 하차 횟수 계산

분류에서Dev

월별 데이터를 Pandas 시계열의 연간 데이터로 변환

Related 관련 기사

  1. 1

    R의 목록에 시간별 데이터를 일일 데이터로 요약

  2. 2

    시간별 데이터를 문자열 조건에 따라 일별 데이터로 축소하고 더미 변수 생성

  3. 3

    밀리 초를 날짜 및 시간 및 로케일 별 형식으로 변환

  4. 4

    동일한 data.frame에서 여러 그룹, 영역 및 소스에 대한 시간별 데이터를 플로팅하여 여러 선 그래프를 만드시겠습니까?

  5. 5

    Pandas에서 요일별로 그룹화 된 표준 편차 및 시간 평균 찾기

  6. 6

    시간 및 요일별로 그룹화 된 시계열 플로팅

  7. 7

    요일 및 시간별로 Elasticsearch 필터링

  8. 8

    날짜 별 중첩 목록에서 시간별로 요소를 그룹화합니까?

  9. 9

    Bash에서 월, 날짜 및 시간별로 로그 파일 필터링

  10. 10

    간격 및 조건별로 데이터 그룹화

  11. 11

    R에서 날짜를 개별 날짜 및 시간으로 변환

  12. 12

    일별 및 시간별 MySql 쿼리 그룹

  13. 13

    로그 파일에서 시간별 데이터 계산

  14. 14

    R을 사용하여 연속 시계열 데이터를 일별 시간별 표현으로 변환

  15. 15

    요일별 매장 시간이 포함 된 그룹 개체

  16. 16

    SQL에서 시간 간격별로 그룹화 된 보조 요청 분포를 확인합니다.

  17. 17

    별도의 요일 및 시간 (h)

  18. 18

    CorePlot : 확대 / 축소에 대한 데이터 소스를 월별에서 일별 ScatterPlot으로 변경

  19. 19

    일별 데이터를 월별로 변환하고 Pandas에서 월별 마지막 값 가져 오기

  20. 20

    168 개의 데이터 포인트를 평일의 시간별 플롯 데이터로 변환하는 방법

  21. 21

    날짜 별 데이터 프레임 그룹화 및 일일 변경 가격에 대한 초 단위 리샘플링

  22. 22

    일요일부터 시작하는 Linux 타임 스탬프의 주 간격 별 MySQL 그룹

  23. 23

    게시 된 연도, 일 및 월별로 데이터를 그룹화하는 SQL 및 PHP

  24. 24

    Hive에서 시간 세션 및 데이터 페이지별로 로그 순서를 정렬하는 방법

  25. 25

    MYSQL 및 PHP : 데이터 정렬 및 일별 그룹화

  26. 26

    팬더를 사용하여 bin 및 시간별로 데이터를 이중 그룹화

  27. 27

    로그 이벤트 범주 및 그룹별로 일별 피벗

  28. 28

    DB에서 하루 중 시간별 및 요일별 픽업 및 하차 횟수 계산

  29. 29

    월별 데이터를 Pandas 시계열의 연간 데이터로 변환

뜨겁다태그

보관