Hola a todos, estoy tratando de armar una función que me arme una tabla de datos para después graficarlos. Cuando la corro me da un error ¿que estoy haciendo mal? Está es la función: meantable<- function (x, data) { meandata<-with(data, tapply(x,list(Luz,Agua), mean)) sedata<-with(data, tapply(x,list(Luz,Agua), sd)/sqrt(6)) ymaxdata<-meandata+sedata ymindata<-meandata-sedata tabladata<-data.frame(Promedios=as.vector(10^meandata-1), ymax as.vector(10^ymaxdata-1) , ymin = as.vector(10^ymindata-1), Luz=rep(c(''L'',''M'',''O''),2), Agua=rep(c(''Húmedo'',''Seco''), c(3,3)), Letras=letras) tabladata } Cuando la corro me dice: Error en tapply(x, list(Luz, Agua), mean) : objeto ''PSRG'' no encontrado. Aquí hay unos datos de ejemplo Luz Agua PSRG 181 O H 344.6 182 O H 197.8 183 O H 519.8 184 O H 957.0 185 O H 699.0 186 O H 1279.0 187 O S 723.5 188 O S 677.0 189 O S 498.5 190 O S 719.3 191 O S 698.0 192 O S 320.9 193 M H 1503.5 194 M H 690.7 195 M H 1799.1 196 M H 1114.8 197 M H 1167.1 198 M H 712.4 199 M S 1528.6 200 M S 1076.2 201 M S 1945.7 202 M S 764.5 203 M S 827.3 204 M S 1537.5 205 L H 291.8 206 L H 442.9 207 L H 104.5 208 L H 310.0 209 L H 130.0 210 L H 210.0 211 L S 516.2 212 L S 447.8 213 L S 1001.5 214 L S 906.9 215 L S 1278.6 216 L S 1408.6 Muchas Gracias -- Luciano Selzer [[alternative HTML version deleted]]
colega segun yo el problema que tienes es que utillizas las variables agua y luz y debes usar data$agua y data$luz ya que tu tabla es data y las columnas son agua y luz pero son dependientes de la tabla yo la corri y jalo solo que me mando que falta el objato letras que en tu correo no esta definido Saludos Enrique RAMOS --- El dom 16-ago-09, Luciano Selzer <luciano.selzer@gmail.com> escribió: De:: Luciano Selzer <luciano.selzer@gmail.com> Asunto: [R-es] Problemas programando una función A: r-help-es@r-project.org Fecha: domingo 16 de agosto de 2009, 19:33 Hola a todos, estoy tratando de armar una función que me arme una tabla de datos para después graficarlos. Cuando la corro me da un error ¿que estoy haciendo mal? Está es la función: meantable<- function (x, data) { meandata<-with(data, tapply(x,list(Luz,Agua), mean)) sedata<-with(data, tapply(x,list(Luz,Agua), sd)/sqrt(6)) ymaxdata<-meandata+sedata ymindata<-meandata-sedata tabladata<-data.frame(Promedios=as.vector(10^meandata-1), ymax as.vector(10^ymaxdata-1) , ymin = as.vector(10^ymindata-1), Luz=rep(c(''L'',''M'',''O''),2), Agua=rep(c(''Húmedo'',''Seco''), c(3,3)), Letras=letras) tabladata } Cuando la corro me dice: Error en tapply(x, list(Luz, Agua), mean) : objeto ''PSRG'' no encontrado. Aquí hay unos datos de ejemplo Luz Agua PSRG 181 O H 344.6 182 O H 197.8 183 O H 519.8 184 O H 957.0 185 O H 699.0 186 O H 1279.0 187 O S 723.5 188 O S 677.0 189 O S 498.5 190 O S 719.3 191 O S 698.0 192 O S 320.9 193 M H 1503.5 194 M H 690.7 195 M H 1799.1 196 M H 1114.8 197 M H 1167.1 198 M H 712.4 199 M S 1528.6 200 M S 1076.2 201 M S 1945.7 202 M S 764.5 203 M S 827.3 204 M S 1537.5 205 L H 291.8 206 L H 442.9 207 L H 104.5 208 L H 310.0 209 L H 130.0 210 L H 210.0 211 L S 516.2 212 L S 447.8 213 L S 1001.5 214 L S 906.9 215 L S 1278.6 216 L S 1408.6 Muchas Gracias -- Luciano Selzer [[alternative HTML version deleted]] -----Sigue archivo adjunto----- _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es [[alternative HTML version deleted]]
Buenos dias Luciano, Al utilizar los datos que envías y la función que quieres corregir, lo primero que noto es que la variable "letras" no está definida por ningún lado. Primero debes arreglar esto. Esta es una versión modificada de la función que envías, eliminando la variable "letras" al final: foo <- function(x, datos = datos){ x <- datos[,x] meandata <- with(datos, tapply(x,list(Luz,Agua), mean)) sedata<-with(datos, tapply(x,list(Luz,Agua), sd)/sqrt(6)) ymaxdata<-meandata+sedata ymindata<-meandata-sedata tabladata<-data.frame( Promedios = as.vector(10^meandata-1), ymax = as.vector(10^ymaxdata-1), ymin = as.vector(10^ymindata-1), Luz = rep(c(''L'',''M'',''O''),2), Agua = rep(c(''Húmedo'',''Seco''), c(3,3))) tabladata } foo(''PSRG'', datos) Ten cuidado con los nombres que utilizas al definir objetos en R pues hay muchos que son reservados (entre ellos "data"). require(fortunes) fortune(''dog'') Espero sea de utilidad, Jorge Ivan Velez 2009/8/16 Luciano Selzer <>> Hola a todos, estoy tratando de armar una función que me arme una tabla de > datos para después graficarlos. Cuando la corro me da un error ¿que estoy > haciendo mal? > Está es la función: > > meantable<- function (x, data) { > meandata<-with(data, tapply(x,list(Luz,Agua), mean)) > sedata<-with(data, tapply(x,list(Luz,Agua), sd)/sqrt(6)) > ymaxdata<-meandata+sedata > ymindata<-meandata-sedata > tabladata<-data.frame(Promedios=as.vector(10^meandata-1), ymax > as.vector(10^ymaxdata-1) > , ymin = as.vector(10^ymindata-1), Luz=rep(c(''L'',''M'',''O''),2), > Agua=rep(c(''Húmedo'',''Seco''), c(3,3)), Letras=letras) > tabladata > } > > Cuando la corro me dice: > Error en tapply(x, list(Luz, Agua), mean) : objeto ''PSRG'' no encontrado. > > Aquí hay unos datos de ejemplo > > Luz Agua PSRG > 181 O H 344.6 > 182 O H 197.8 > 183 O H 519.8 > 184 O H 957.0 > 185 O H 699.0 > 186 O H 1279.0 > 187 O S 723.5 > 188 O S 677.0 > 189 O S 498.5 > 190 O S 719.3 > 191 O S 698.0 > 192 O S 320.9 > 193 M H 1503.5 > 194 M H 690.7 > 195 M H 1799.1 > 196 M H 1114.8 > 197 M H 1167.1 > 198 M H 712.4 > 199 M S 1528.6 > 200 M S 1076.2 > 201 M S 1945.7 > 202 M S 764.5 > 203 M S 827.3 > 204 M S 1537.5 > 205 L H 291.8 > 206 L H 442.9 > 207 L H 104.5 > 208 L H 310.0 > 209 L H 130.0 > 210 L H 210.0 > 211 L S 516.2 > 212 L S 447.8 > 213 L S 1001.5 > 214 L S 906.9 > 215 L S 1278.6 > 216 L S 1408.6 > > Muchas Gracias > > -- > Luciano Selzer > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]
Jorge y Enrique: muchas gracias por su ayuda, sus respuestas han sido de mucha utilidad. El 18 de agosto de 2009 12:46, Jorge Ivan Velez <jorgeivanvelez@gmail.com>escribió:> Buenos dias Luciano, > Al utilizar los datos que envías y la función que quieres corregir, lo > primero que noto es que la variable "letras" no está definida > por ningún lado. Primero debes arreglar esto. > > Esta es una versión modificada de la función que envías, eliminando la > variable "letras" al final: > > foo <- function(x, datos = datos){ > x <- datos[,x] > meandata <- with(datos, tapply(x,list(Luz,Agua), mean)) > sedata<-with(datos, tapply(x,list(Luz,Agua), sd)/sqrt(6)) > ymaxdata<-meandata+sedata > ymindata<-meandata-sedata > tabladata<-data.frame( > Promedios = as.vector(10^meandata-1), > ymax = as.vector(10^ymaxdata-1), > ymin = as.vector(10^ymindata-1), > Luz = rep(c(''L'',''M'',''O''),2), > Agua = rep(c(''Húmedo'',''Seco''), c(3,3))) > tabladata > } > > foo(''PSRG'', datos) > > > Ten cuidado con los nombres que utilizas al definir objetos en R pues hay > muchos que son reservados (entre ellos "data"). > > require(fortunes) > fortune(''dog'') > > Espero sea de utilidad, > > Jorge Ivan Velez > > > 2009/8/16 Luciano Selzer <> > >> Hola a todos, estoy tratando de armar una función que me arme una tabla de >> datos para después graficarlos. Cuando la corro me da un error ¿que estoy >> haciendo mal? >> Está es la función: >> >> meantable<- function (x, data) { >> meandata<-with(data, tapply(x,list(Luz,Agua), mean)) >> sedata<-with(data, tapply(x,list(Luz,Agua), sd)/sqrt(6)) >> ymaxdata<-meandata+sedata >> ymindata<-meandata-sedata >> tabladata<-data.frame(Promedios=as.vector(10^meandata-1), ymax >> as.vector(10^ymaxdata-1) >> , ymin = as.vector(10^ymindata-1), Luz=rep(c(''L'',''M'',''O''),2), >> Agua=rep(c(''Húmedo'',''Seco''), c(3,3)), Letras=letras) >> tabladata >> } >> >> Cuando la corro me dice: >> Error en tapply(x, list(Luz, Agua), mean) : objeto ''PSRG'' no encontrado. >> >> Aquí hay unos datos de ejemplo >> >> Luz Agua PSRG >> 181 O H 344.6 >> 182 O H 197.8 >> 183 O H 519.8 >> 184 O H 957.0 >> 185 O H 699.0 >> 186 O H 1279.0 >> 187 O S 723.5 >> 188 O S 677.0 >> 189 O S 498.5 >> 190 O S 719.3 >> 191 O S 698.0 >> 192 O S 320.9 >> 193 M H 1503.5 >> 194 M H 690.7 >> 195 M H 1799.1 >> 196 M H 1114.8 >> 197 M H 1167.1 >> 198 M H 712.4 >> 199 M S 1528.6 >> 200 M S 1076.2 >> 201 M S 1945.7 >> 202 M S 764.5 >> 203 M S 827.3 >> 204 M S 1537.5 >> 205 L H 291.8 >> 206 L H 442.9 >> 207 L H 104.5 >> 208 L H 310.0 >> 209 L H 130.0 >> 210 L H 210.0 >> 211 L S 516.2 >> 212 L S 447.8 >> 213 L S 1001.5 >> 214 L S 906.9 >> 215 L S 1278.6 >> 216 L S 1408.6 >> >> Muchas Gracias >> >> -- >> Luciano Selzer >> >> [[alternative HTML version deleted]] >> >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> >> >-- Luciano [[alternative HTML version deleted]]