내 자신의 기능을 R에서 data.cube의 하위 집합으로 만들려고하고 있으며 빌드를 목표로하는 미리 정의 된 일부 플롯에 대한 결과의 형식을 자동으로 지정합니다.사용자 정의 함수 내에서 데이터 집합 subsetting
이것은 제 기능입니다.
require(data.table)
require(data.cube)
secciona <- function(cubo = NULL,
fecha_valor = list(),
loc_valor = list(),
prod_valor = list(),
drop = FALSE){
cubo[fecha_valor, loc_valor, prod_valor, drop = drop]
## The line above will really be an asignment of type y <- format(cubo[...drop])
## Rest of code which will end up plotting the subset of the function
}
것은 내가 오류가 계속입니다 : Error in eval(expr, envir, enclos) : object 'fecha_valor' not found
나를 위해 가장 이상한 무엇
는 광산의 부분 집합 함수 내에서 정의 할 때 콘솔에 모든 것이 잘 작동하지만 것입니다. 콘솔에서
:
> dc[list(as.Date("2013/01/01"))]
> dc[list(as.Date("2013/01/01")),]
> dc[list(as.Date("2013/01/01")),,]
> dc[list(as.Date("2013/01/01")),list(),list()]
모두가 결과로 제공 :
<data.cube>
fact:
5627 rows x 2 dimensions x 1 measures (0.32 MB)
dimensions:
localizacion : 4 entities x 3 levels (0.01 MB)
producto : 153994 entities x 3 levels (21.29 MB)
total size: 21.61 MB
을하지만
secciona(dc)
secciona(dc, fecha_valor = list(as.Date("2013/01/01")))
secciona(dc, fecha_valor = list())
을 시도 할 때마다 언급 위에 나는 항상 오류가 발생합니다.
왜 이런 생각입니까? 플로팅을 위해 부분 집합을 편집하는 방식에 대해 다른 방법으로 진행해야합니까?