[R] trellis plot
Sebastián Daza
sebastian.daza at gmail.com
Mon Mar 26 18:09:22 CEST 2012
Thank you Peter. The problem with you solution is that it doesn't
represent the actual values of disruption. Look this example:
person <- rep(1:2, each=4)
income <- c(100, 120, 150, 200, 90, 100,120, 150)
disruption <- c(0,0,0,1,0,1,1,0)
time <- rep(c(1:4),2)
dat <- as.data.frame(cbind(person,time, income, disruption))
mycols <- c(2, 5)
library(lattice)
xyplot(income~time|as.factor(person),data=dat,
type=c("p","g","o"), col.line="black", col.symbol =
mycols[dat$disruption+1],
xlab="Time",
ylab="Familiar Income")
I am looking for a way to get the colors of dots according to actual
disruption values, and at the same time to draw the lines between all
dots for each person. Thank you!
>>>
>>> Hi everyone,
>>> I am just trying to figure out how to do a xyplot where in addition to
>>> dots and lines I can change dots' colors according to an individual
>>> variable (e.g., marital disruption across time, a dummy 0/1). When I
>>> use "groups" specification (see below), I get two different lines for
>>> each individual based on groups, and what I want is to get one line
>>> connecting dots, and different dots' colors according to marital
>>> disruption.
>>>
>>> Any ideas about how to do that?
>>>
>>> person<- rep(1:2, each=4)
>>> income<- c(100, 120, 150, 200, 90, 100,120, 150)
>>> disruption<- rep(c(0,1), 4)
>>> time<- rep(c(1:4),2)
>>> dat<- as.data.frame(cbind(person,time, income, disruption))
>>>
>>>
>>> library(lattice)
>>> xyplot(income~time|as.factor(person),data=dat,
>>> type=c("p","g","o"), col.line="black",
>>> xlab="Time",
>>> ylab="Familiar Income")
>>>
>>> # I just want to change dots' colors according to disruption, not to
>>> get two different lines:
>>>
>>> xyplot(income~time|as.factor(person),data=dat,
>>> type=c("p","g","o"), col.line="black", groups=disruption,
>>> xlab="Time",
>>> ylab="Familiar Income")
>>>
>>
>> If I understand correctly what you're after, try adding the
>> 'col.symbol' argument instead of the 'groups' argument.
>>
>> col.symbol = disruption + 1
>>
>> or, better, for arbitrary colours:
>>
>> mycols <- c(2, 5)
>> xyplot(....,
>> col.symbol = mycols[disruption + 1],
>> ....)
>>
>> Peter Ehlers
>>
>>>
>>>
>>> Thank you in advance!
>>>
>>
>
>
>
> --
> Sebastián Daza
--
Sebastián Daza
More information about the R-help
mailing list