2013-04-02 2 views
3

data.frame에있는 aggregatedata.table에서 처리하는 방법을 궁금합니다.R에서 data.frame의 집계를 data.table의 집계로 변환하는 방법은 무엇입니까?

data.tablemydt라는 예를 들어, 내가 가진 : 나는 다루는 경우

Date  , Vector(variable length) 
1899-02-28, c(1,2,3,4,5) 
1900-08-22, c(101,102) 
1900-08-22, c(1000,1001,1002) 

:

Date  ,  Time , Value 
1899-01-01 , 4:00:00 , 1 
1899-01-01 , 4:01:00 , 2 
1899-01-01 , 4:02:00 , 3 
1899-01-01 , 4:03:00 , 4 
1899-01-01 , 4:04:00 , 5 
1900-08-22 , 22:00:00 , 101 
1900-08-22 , 22:01:00 , 102 
2013-08-29 , 4:00:00 , 1000 
2013-02-29 , 4:02:00 , 1001 
2013-02-29 , 4:03:00 , 1002 

내가 다음과 같은 형식으로 data.table을 생산하는 Date에 의해 그룹화 할 data.frame 일 경우 올바른 명령은 다음과 같습니다.

temp <- aggregate(Value ~ Date, mydt, as.vector) 

data.table을 처리 할 때 동등한 명령은 무엇입니까?

답변

5

그룹 by Datelistlist(Value)을 사용하면 결과를 목록으로 얻을 수 있습니다.

dt[, list(Value=list(Value)), by=Date] 

#   Date  Value 
# 1: 1899-01-01 1,2,3,4,5 
# 2: 1900-08-22 101,102 
# 3: 2013-08-29  1000 
# 4: 2013-02-29 1001,1002 
+1

이것은 완전히 완벽하게 작동합니다. 정말 고마워요 !! – Contango

관련 문제