[R-es] columna de un data.table puede ser data.frame?

MªLuz Morales mlzmrls en gmail.com
Lun Jun 8 16:47:09 CEST 2015


Solucionado
Efectivamente era un problema de notación. Esto funciona
PesosParam <- data.table(Param = Parametros, Peso =
information.gain(In.hospital_death~., ParamCol))
Nota: Parametros es un vector de caracteres

Gracias
Un saludo
MªLuz

El 8 de junio de 2015, 16:08, Carlos Ortega <cof en qualityexcellence.es>
escribió:

> 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]]
>>
>> _______________________________________________
>> R-help-es mailing list
>> R-help-es en r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>
>
>
>
> --
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es