[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