Hola, yo te respondo sobre las tablas de frecuencia: en la libreria
agricolae hay una función muy simple que hace las tablas como se suelen
enseñar en los cursos introductorios, ademas podes asociarle facilmente el
histograma correspondiente, acá va del ejemplo del paquete:
library(agricolae)
data(growth)
attach(growth)
h2<-graph.freq(height,plot=FALSE)
table.freq(h2)
saludos, teresa
El 16 de noviembre de 2009 16:25, Kjetil Halvorsen
<kjetil1001 en gmail.com>escribió:
Respono yo mismo, para eludivar cuan "evil" es attach()
2009/11/16 Kjetil Halvorsen <kjetil1001 en gmail.com>:
2009/11/16 J. Miguel Marin <jmmarin en est-econ.uc3m.es>:
Bueno,
obviamente, la solución inmediata es poner attach(dataframe)
es decir,
freq <- function(x,cosa){
attach(cosa)
list(data.frame(table(cut(x, breaks=nclass.Sturges(x)))))
}
despues de usar freq(y, cosa)
una vez, una copia de cosa esta en la lista de busqueda (tipea
search() para verlo)
despues de llamar freq(y2, cosa, dos copias de cosa ... tipea serch()
para ver!
despues de usarlo la tercera vez, etc .......
Como un mÃnimo la función tenÃa que ser definida como esto:
freq <- function(x,cosa){
attach(cosa)
ans <- list(data.frame(table(cut(x, breaks=nclass.Sturges(x)))))
Pero: Lo mejor es olvidarse de attach() y usar with()
Kjetil
Lo último que hacer es enseñar a futuros usuarios de usar attach(),
a la parte arqueológico de R!
Tienes que usar with():
with(cosa, lo_que_quiere_hacer_con_cosa)
por ejemplo:
en lugar de definir la funcion freq (que en realidad es una versión de
with(cosa, table(x))
o
with(cosa,data.frame(table(cut(x,breaks=nclass.Sturges(x)))))
with() necesita más propaganda!!!
Para la pregunta original, talves:
library(Hmisc) # paquete muy extenso de Frank Harrel
?describe
example(describe)
Kjetil
Pero estarÃa mejor no tener que poner el segundo argumento en la función
eso fuera posible...
Y mejor aún: incluir un submenú en RCommander.
Hola,
me gustarÃa hacer una función que fuera bastante automática (para
docencia)
y que hiciera tablas de frecuencias.
La primera idea que funciona es ésta
freq <- function(x){
list(data.frame(table(cut(x, breaks=nclass.Sturges(x)))))
}
Sin embarg,o hay que poner (en general) en x algo asà como
el_dataframe$x
para que funcione y la gente se lÃa si les dices que lo pongan asÃ.
Si escribo la función como
freq <- function(x,dataframe){
list(data.frame(table(cut(dataframe$x,
breaks=nclass.Sturges(dataframe$x)))))
}
NO funciona con una tabla de datos dada.
Por otro lado, también estarÃa bien que si se hace un ls() de objetos,
detectase
aquél que fuese un data frame y lo tomase por defecto. Pero no sé cómo
hacerlo.
Todo ello para hacer una función automática un poco para la gente que
se aclara
demasiado con RCommnader
Finalmente ¿esto se podrÃa programar en RCommander de manera asequible?
temo que no viene incluÃda ninguna función para hacer las tÃpicas
frecuencias para variables cuantitativas...
Un saludo
jm~