2012-06-18 13 views
6

Uso cast() del paquete reshape con bastante frecuencia. Casi todas las veces, esta advertencia aparece:Cómo suprimir mensajes de advertencia de cast()

Aggregation requires fun.aggregate: length used as default

He tratado de establecer options(warn =-1), sin ningún resultado. ¿Cómo se suprimen estas advertencias?

+1

Creo que la razón 'o ptions ("warn") 'no tiene ningún efecto es que eso es realmente generado por' message' not 'warning'. 'suppressMessages' puede funcionar, pero no sé de una manera de hacerlo globalmente. – joran

Respuesta

11

Puede especificar manualmente fun.aggregate como longitud.

cast(your_inputs_to_cast, fun.aggregate = length) 
11

Aggregation requires fun.aggregate: length used as default

es message no es un warning - que le permite saber que la función como algo decidido por ti. Creo que la mejor opción es la respuesta de @Dason, es decir, especificar manualmente esta opción.

Sin embargo, si usted no quiere hacer eso:

Puede suprimir los mensajes envolviendo la función en suppressMessages

Usando el ejemplo de cast

names(ChickWeight) <- tolower(names(ChickWeight)) 
chick_m <- melt(ChickWeight, id=2:4, na.rm=TRUE) 

suppressMessages(cast(chick_m, time ~ variable)) 

O bien, podría crear su propia función

cast_suppress <- function(...){suppressMessages(cast(...))} 
cast_suppress(chick_m, time ~ variable) 
Cuestiones relacionadas