[R-es] Problema con el subset

Carlos Ortega cof en qualityexcellence.es
Sab Dic 20 00:13:45 CET 2014


Hola,

El error lo tienes aqui:

#-------------------
  tree <- dfgrupo[ dfgrupo$param == levels( dfinter$param )[ i ], ]
    lines(as.Date(*tree*$fecha), *tree*$z, type = "b", lwd = 1.5,
           col = colors[i], pch = char[i])
#-------------------
Primero seleccionas un subconjunto "tree", pero luego a la hora de pintar
las lineas, vuelves a escoger "dfgrupo" y une todos los puntos del conjunto
dfgroup en vez de solamente los del subconjunto "tree".

Como alternativa, aunque estás empezando a usar R, mira esta otra forma que
evita todos los cálculos intermedios que has utilizado:

#---------------------
library(lattice)
parVal <- unique(as.vector(dfgrupo$param))
colVal <- rainbow(length(parVal))

xyplot(
        z ~ as.Date(fecha)
       ,data=dfgrupo
       ,group=param
       ,type="b"
       ,main="Evaluación de los parámetros"
       ,xlab=list("Fecha del interlaboratorio", font=2, cex=1.1)
       ,ylab=list("Z-Score", font=2, cex=1.1)
       ,scales=list(col="blue", font=2, cex=1.1)
       ,key=simpleKey(parVal, columns=4)
       ,par.settings=simpleTheme(fill=colVal, col=colVal, pch=19)
  )
#---------------------

Saludos,
Carlos Ortega
www.qualityexcellence.es

El 17 de diciembre de 2014, 19:59, Jose Manuel Veiga del Baño <chemavb en um.es
> escribió:
>
>   Hola a todos,
>
> Agradeceros de antemano vuestro tiempo y paciencia ya que soy un poco
> novato y tal vez esto sea un poco trivial.
>
> Lo que quiero hacer es que me represente en eje de las x las fechas
> (columna fecha) y los valores de z (columna z) pero de los datos que he
> filtrado antes en
> (dfgrupo<-subset(df,df$parametroslaboratorio=="Aflatoxinas ByG")) y que los
> parámetros iguales (variables de la columna param) se unan entre sí y
> tengan un color cada param. En principio estoy usando un código de un
> ejemplo que funciona muy bien pero lo único que consigo es que se me unan
> todos los puntos (todos los parm) y que no lo haga por colores.
>
> Si alguien se le ocurre algo se lo agradezco.
>
> df  <- read.table(file="xxxx.csv", header=T, sep=";", dec=",")
>  df  <-na.omit(df)
> dfgrupo<-subset(df,df$parametroslaboratorio=="Aflatoxinas ByG")
>  niveles <- as.numeric(dfgrupo$param)
>  ntrees <- max(niveles)
>  xrange <- range(as.Date(dfgrupo$fecha))
>  yrange <- range(dfgrupo$z)
>  plot(xrange, yrange, type = "n", xlab = "Fecha del interlaboratorio",
>       ylab = "Z-score")
>  colors <- rainbow(ntrees)
>  ltipo <- c(1:ntrees)
>  char <- seq(18, 18 + ntrees, 1)
>  # Añadir las lineas al grafico
>  for (i in 1:ntrees) {
>      tree <- dfgrupo[ dfgrupo$param == levels( dfinter$param )[ i ], ]
>      lines(as.Date(dfgrupo$fecha), dfgrupo$z, type = "b", lwd = 1.5,
>            col = colors[i], pch = char[i])
>  }
>  # Añadir un titulo and subtitulo
>  title("Evaluacion de los parametros")
>  # Añadir la leyenda
>  legend(xrange[1], yrange[2], 1:ntrees, cex = 0.8, col = colors, pch =
> char,
>      lty = ltipo, title = "Parametro")
>
>  Un saludo.
> Dr. José M. Veiga
> Dpt. Química Agrícola, Geología y Edafología.
> Universidad de Murcia.
>
> _______________________________________________
> 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