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]]