Hola Mª Luz,
Cuando vayas a crear el data.table lo haces igual que un data.frame.
FÃjate en el ejemplo de la ayuda de data.table():
DF = data.frame(x=rep(c("a","b","c"),each=3), y=c(1,3,6), v=1:9)
DT = data.table(x=rep(c("a","b","c"),each=3), y=c(1,3,6), v=1:9)
Cuando creas el data.table, la opción que has utilizado de ".()" no aplica.
Esto aplica una vez ya tienes el data.table y quierez crear una nueva
variable.
Entonces el código para crear el data.table serÃa algo parecido a esto:
PesosParam <- data.table(Parametros, Peso=
information.gain(In.hospital_death~., ParamCol))
Aunque lo anterior si te da error, es porque tienes que decir
explÃcitamente de dónde salen: "Parametros", "In.hospital_death" y
"ParamCol". Por eso a lo mejor tienes que definir estas variables antes:
Parametros <- my_data_table$Parametros
?Y para information.gain(), entiendo que además de las variables tendrás
que indicar el data.frame (el "data") donde están esas variables...?
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 8 de junio de 2015, 15:14, MªLuz Morales <mlzmrls en gmail.com> escribió:
Hola,
yo quiero construir un data.table donde una columna (Parametros) son
caracteres y otra el resultado de la función information.gain, que
devuelve
un data.frame. El código que he usado es este, pero me da error
PesosParam <- data.table(,.(Parametros, Peso:=
information.gain(In.hospital_death~., ParamCol)))
Es posible hacer lo que digo? o debo hacer una transformación del
data.frame a data.table explÃcitamente. Esto también lo he probado con el
código:
# Conversión de data.frame a data.table
setattr(PesosParam, "class", c("data.table", "data.frame"))
data.table:::settruelength(PesosParam, 0L)
invisible(alloc.col(PesosParam))
pero no encuentra settruelength
Gracias
Un saludo
MªLuz Morales
[[alternative HTML version deleted]]