2012-10-10 3 views
4

data.table의 일부 하위 집합에 함수를 적용하여 출력을 생성합니다. 나는 다음과 같은 기능을 사용하고 있습니다 :벡터 출력을 data.table의 열로 변환 하시겠습니까?

data[, foo(args), by=list(Year, Month)] 

내 기능 foo 항상 반환 길이 n의 벡터를.

 Year Month   V1 
    1: 1983  2 9.734669e-06 
    2: 1983  2 9.165665e-06 
    3: 1983  2 2.097477e-05 
    4: 1983  2 3.803727e-05 

을하지만 뭔가

 Year Month   V1   V2   V3   V4 ... 
    1: 1983  2 9.734669e-06 9.165665e-06 2.097477e-05 3.803727e-05 ... 

심지어 list(foo(args))를 사용하여 시도

처럼, 그것은 도움이되지 않았다 싶습니다 :이 같은 출력을 얻고있다. 또는 산출물이 foo$V1, foo$V2 ... 형태 여야합니까?

답변

6

data[, as.list(foo(args)), by=list(Year, Month)] 

을 시도하거나 vector보다는 list을 반환 foo을 변경합니다.

관련 문제