psql에서 데이터를 쿼리하기 위해 dplyr을 사용하려고합니다. 내 데이터는 다음과 같은 형식입니다.Postgres DB에서 dplyr의 시계열 데이터를 다운 샘플링
date name value
10-12-2012 10:01:00 var1 100
10-12-2012 10:55:00 var1 200
10-12-2012 11:01:00 var1 150
10-12-2012 11:50:00 var1 100
10-12-2012 12:11:00 var1 50
10-12-2012 12:40:00 var1 150
10-12-2012 10:01:00 var2 10
10-12-2012 10:33:00 var2 20
10-12-2012 11:04:00 var2 15
10-12-2012 11:45:00 var2 25
10-12-2012 12:02:00 var2 10
10-12-2012 12:55:00 var2 8
는 I 시간별 (또는 소정의 샘플 시간)으로 데이터를 집계 할 그 시간 내에서 "값"열 평균값을 원한다.
필요한 출력은 :
date name value
10-12-2012 10:00:00 var1 150
10-12-2012 11:00:00 var1 125
10-12-2012 12:00:00 var1 100
10-12-2012 10:00:00 var2 15
10-12-2012 11:00:00 var2 20
10-12-2012 12:00:00 var2 9
내가 직접 쿼리를 사용하여 포스트 그레스에서이 작업을 수행 할 수 있습니다
"SELECT date_trunc('hour', date), name, mean_arr(array_agg(cast(value as double precision))) FROM TABLENAME WHERE name IN ("var1","var2")
나는 우리가 같은 사용 dplyr을 할 수 있다면, 알고 싶습니다
.
나는 현재 dplyr이 명령을 사용하여 데이터베이스에 연결하고 :
my_db <- rc_postgres(dbname="DBNAME",host="HOST",port="PORT",user="USER",password="PASSWD")
tbl_df <- tbl(my_db, "TABLENAME")
원시 쿼리는 다음과 같다 :
dataOut <- data.frame(tbl_df%>% select(date,name,value) %>% filter(name %in% c('var1','var2')
나는 현재 데이터를 집계하지 않은 것을 참고, 나는하고 싶다.
누군가 답변을했는지 알려주세요. 감사 프라 딥
안녕하세요, 나는 다음과 같은 오류가 나타납니다. eval (expr, envir, enclos) 오류 : "transmutate"함수를 찾을 수 없습니다. – Pradeep
나는 dplyr에서 transmutate에 대한 도움을 찾을 수 없었다. – Pradeep
@Pradeep - 나는 Hadley가 거기에서'transmute'를 의미했을지도 모른다라고 생각한다. –