[R] lattice plot formatting: pch, abbreviation and labels
Duncan Mackay
dulcalma at bigpond.com
Tue Apr 29 11:26:04 CEST 2014
Hi Luigi
Only minor changes needed.
When you go back to a normal xyplot the rules of ratio variables apply the x-axis default in your case something like pretty(range(x)
So the x-axis limits range from 0-1
and the panel limits therefore are 0-1 +/- 4%
With strip stripplot being categorical the limits are for values 1 and 2 so the top value for 2 is not being shown
(easily seen with str(xyplot object))
You missed out the assigning of groups to the segments.
You could do this by a for loop of 1:2 or by using groups/panel.groups.
I have not got the time to dig out the code to do it at the moment.
xyplot(copy ~ positivity|stimulation, data = my.data,
group = factor(positivity),
as.table = TRUE,
layout = c(8,1),
xlim = c(-1,2),
scales = list(x = list(at = c(0,1),
labels = c("N","P"),
rot = 0)),
jitter.data=TRUE,
pch=c(16,1),
col="black",
ylab=expression(bold("Copy")),
xlab=expression(bold("Stimulation")),
main="Plot",
par.settings = list(strip.background=list(col="white")),
par.strip.text=list(font=2),
key = list(space="top",
columns=2,
text=list(c("Positive", "Negative"), col="black"),
points=list(pch=c(16,1), col="black")),
panel = function(x, y,...){
pnl = panel.number()
#panel.abline(h = datmeA[datmeA[,2]== levels(datmeA[,2])[pnl],"ratio"], col = c("red","black"), lty=3)
#for (j in 1:2){
# with(subset(datmeA, (positivity == j-1 & stimulation == levels(datmeA$stimulation)[pnl])),
# panel.abline(h = copy, lwd = 1, col = c("red","black")[j], lty = 1) )
for (j in 1:2){
panel.segments(x0 = (j-1)-0.25, y0 = datmeA[datmeA[,2]== levels(datmeA[,2])[pnl],"copy"], # amend to copy
x1 = (j-1)+0.25, y1 = datmeA[datmeA[,2]== levels(datmeA[,2])[pnl],"copy"],
lwd = 2, col = c("magenta","grey")[j])
}
panel.stripplot(x,y, ...)
}
)
If you wanted full N P then
scales = list(x = list(at = c(0,1),
alternating = F,
labels = c("Negative","Positive"),
rot = 90)), # rot = 0 if labels as before
Duncan
-----Original Message-----
From: Luigi Marongiu [mailto:marongiu.luigi at gmail.com]
Sent: Tuesday, 29 April 2014 04:34
To: Duncan Mackay
Subject: Re: [R] lattice plot formatting: pch, abbreviation and labels
Dear Duncan,
sorry to pester you again with this, but probably the solution is
getting closer. following one of your previous tips i could write the
xyplot synthax as you suggested:
library(lattice)
my.data<-structure(list(
column_1 = 1:120,
column_2 = structure(c(
1,2,3,4,5,6,7,8,
1,2,3,4,5,6,7,8,
1,2,3,4,5,6,7,8,
1,2,3,4,5,6,7,8,
1,2,3,4,5,6,7,8,
1,2,3,4,5,6,7,8,
1,2,3,4,5,6,7,8,
1,2,3,4,5,6,7,8,
1,2,3,4,5,6,7,8,
1,2,3,4,5,6,7,8,
1,2,3,4,5,6,7,8,
1,2,3,4,5,6,7,8,
1,2,3,4,5,6,7,8,
1,2,3,4,5,6,7,8,
1,2,3,4,5,6,7,8), .Label = c("Unst.", "ESAT6", "CFP10", "Rv3615c",
"Rv2654", "Rv3879", "Rv3873", "PHA"), class = "factor"),
column_3 = structure(c(
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
0,0,0,0,0,0,0,0)),
column_4 = c(
192.0519108,183.6403531,53.46798757,83.60638077,69.60749873,159.4706861,256.8765622,499.2899303,
2170.799076,1411.349719,2759.472348,2098.973397,2164.739515,1288.676574,1611.486543,6205.229575,
870.7424981,465.9967135,191.8962375,864.0937485,2962.693675,1289.259137,2418.651212,7345.712517,
0,168.1198893,674.4342961,101.1575401,47.81596237,0,0,1420.793922,
142.6871331,5.466468742,291.9564635,80.73914133,73.02239621,64.47806871,144.3543635,3167.959757,
3164.748333,1092.634557,28733.20269,1207.87783,729.6090973,151.8706088,241.2466141,9600.963594,
1411.718287,12569.96285,1143.254476,6317.378481,16542.27718,79.68025792,1958.495138,7224.503437,
208.4382941,69.48609769,656.691151,0.499017582,7114.910926,187.6296174,41.73980805,8930.784541,
4.276752185,0.432300363,60.89228665,1.103924786,0.490686366,1.812993239,7.264531581,1518.610307,
2172.051528,595.8513744,17141.84336,589.6565971,1340.287628,117.350942,593.7034054,24043.61463,
0,81.83292179,1539.864321,36.41722958,8.385131047,161.7647376,65.21615696,7265.573875,
97.84753179,154.051827,0.613835842,10.06138851,45.04879285,176.8284258,18795.75462,30676.769,
5780.34957,944.2200834,2398.235596,1083.393165,2541.714557,1251.670895,1547.178549,1792.679176,
3067.988416,8117.210173,23676.02226,8251.937547,17360.80494,18563.61561,16941.865,31453.96708,
2767.493803,4796.33016,12292.93705,3864.657567,9380.673835,14886.44683,8457.88646,26050.47191)),
.Names = c("row", "stimulation", "positivity", "copy"), row.names =
c(NA, -120L),
class = "data.frame")
key.plot<-list(
space="top", columns=2,
text=list(c("Positive", "Negative"), col="black"),
points=list(pch=c(16,1), col="black"))
datmeA <- aggregate(copy ~ positivity+stimulation, my.data, median, na.rm = T)
#### HERE IS THE IMPORTANT BIT ###
xyplot(copy ~ positivity|stimulation,
my.data,
group = positivity,
hor=F,
as.table = TRUE,
layout = c(8,1),
scales = list(x = list(alternating = FALSE, at = c(0.2,0.8), labels
= c("P","N"))),
pch=c(16,1), col="black",
ylab=expression(bold("Copy")),
xlab=expression(bold("Stimulation")),
main="Plot",
par.settings = list(strip.background=list(col="white")),
par.strip.text=list(font=2),
key = list(space="top", columns=2, text=list(c("Positive",
"Negative"), col="black"), points=list(pch=c(16,1), col="black")),
panel = function(x, y, ...){
pnl = panel.number()
panel.segments(x0 = x-0.25, y0 = datmeA[datmeA[,2]==
levels(datmeA[,2])[pnl],"ratio"],
x1 = x+0.25, y1 = datmeA[datmeA[,2]==
levels(datmeA[,2])[pnl],"ratio"],
lwd = 2, col = c("magenta","grey"))
panel.stripplot(x,y, ...)
}
)
############################
beside beign less elegant than stripplot() -- there is no jittering
and requires the positions for the labels -- there are mainly two
problems:
1. the dots are too close to the margins -- I tried to use the 'at'
argument but it did not work
2. the segments are replicated -- there should be a 'panel.group'
somewhere but I obtained a lot of errors when I tried to place it.
Wouldn't be easier to use the stripplot directly, using maybe a factor
to place the segments? I tried to place the panel.function in
stripplot but it did not work at all...
stripplot(copy ~ factor(positivity)|factor(stimulation, levels =
c("Unst.", "ESAT6","CFP10","Rv3615c", "Rv2654","Rv3879",
"Rv3873","PHA")),
my.data,
group = positivity,
hor=F,
layout = c(8,1),
scales = list(x = list(at = c(1,2), labels = c("N","P"))),
jitter.data=TRUE, pch=c(16,1), col="black",
ylab=expression(bold("Copy")),
xlab=expression(bold("Stimulation")),
main="Plot",
par.settings = list(strip.background=list(col="white")),
par.strip.text=list(font=2),
key = list(space="top", columns=2, text=list(c("Positive",
"Negative"), col="black"), points=list(pch=c(16,1), col="black")),
panel = function(x, y, ...){
pnl = panel.number()
panel.segments(x0 = x-0.25, y0 = datmeA[datmeA[,2]==
levels(datmeA[,2])[pnl],"ratio"],
x1= x+0.25, y1 =
datmeA[datmeA[,2]== levels(datmeA[,2])[pnl],"ratio"],
lwd = 2, col = c("magenta","grey"))
panel.stripplot(x,y, ...)
}
)
Best wishes,
Luigi
On Mon, Apr 28, 2014 at 2:25 AM, Duncan Mackay <dulcalma at bigpond.com> wrote:
> Hi Luigi
>
> Here are 2 ways of doing it.
>
> The first is a "cheats" way ie easy.
>
> The second is a substitute for the proper way who's code eludes me at the moment. I changed the lty on the ablines as it appears confusing and as you are bolding it seems more appropriate. A better way may be to change 1 line type.
>
> stripplot(copy ~ factor(positivity)|factor(stimulation, levels = c("Unst.", "ESAT6","CFP10","Rv3615c", "Rv2654","Rv3879", "Rv3873","PHA")),
> my.data,
> group = positivity,
> hor=F,
> layout = c(8,1),
> scales = list(x = list(at = c(1,2), labels = c("N","P"))),
> jitter.data=TRUE, pch=c(16,1), col="black",
> ylab=expression(bold("Copy")),
> xlab=expression(bold("Stimulation")),
> main="Plot",
> par.settings = list(strip.background=list(col="white")),
> par.strip.text=list(font=2),
> key = list(space="top",
> columns=2,
> text=list(c("Positive", "Negative"), col="black"),
> points=list(pch=c(16,1), col="black")),
> panel = function(x, y,...){
> pnl = panel.number()
> #panel.abline(h = datmeA[datmeA[,2]== levels(datmeA[,2])[pnl],"ratio"], col = c("red","black"), lty=3)
>
> panel.average(x, y, fun = mean, horizontal = F, lty = 3, col.line = c("red","black"), type = "l")
>
> panel.stripplot(x,y, ...)
> }
> )
>
> stripplot(copy ~ factor(positivity)|factor(stimulation, levels = c("Unst.", "ESAT6","CFP10","Rv3615c", "Rv2654","Rv3879", "Rv3873","PHA")),
> my.data,
> group = positivity,
> hor=F,
> layout = c(8,1),
> scales = list(x = list(at = c(1,2), labels = c("N","P"))),
> jitter.data=TRUE, pch=c(16,1), col="black",
> ylab=expression(bold("Copy")),
> xlab=expression(bold("Stimulation")),
> main="Plot",
> par.settings = list(strip.background=list(col="white")),
> par.strip.text=list(font=2),
> key = list(space="top",
> columns=2,
> text=list(c("Positive", "Negative"), col="black"),
> points=list(pch=c(16,1), col="black")),
> panel = function(x, y,...){
> pnl = panel.number()
> #panel.abline(h = datmeA[datmeA[,2]== levels(datmeA[,2])[pnl],"ratio"], col = c("red","black"), lty=3)
> for (j in 1:2){
> with(subset(datmeA, (positivity == j-1 & stimulation == levels(datmeA$stimulation)[pnl])),
> panel.abline(h = copy, lwd = 1, col = c("red","black")[j], lty = 1) )
>
> }
>
> panel.stripplot(x,y, ...)
> }
> )
>
> Remember abline and panel.abline etc only take 1 line at a time so if you have more than 1 group you have 2 call it more than once
>
> Regards
> Duncan
>
> -----Original Message-----
> From: Luigi Marongiu [mailto:marongiu.luigi at gmail.com]
> Sent: Monday, 28 April 2014 04:03
> To: Duncan Mackay
> Subject: Re: [R] lattice plot formatting: pch, abbreviation and labels
>
> Dear Duncan,
> may I bother you a bit more with the same data set? I would like now
> to add a segment corresponding to the median values, as we discussed
> antecedently.
> I have tried to use the code you wrote in the previous mails, but it
> hasn't worked. First I have found the aggregate medians values and
> assigned to datmeA, then pasted the code you wrote, but without
> success. Would be possible to substitute the panel.abline with
> panel.segments? but in this case how to tell lattice what are the
> values for "N" or "P"?
> Best wishes,
> Luigi
>
> CODE::::
> library(lattice)
>
> my.data<-structure(list(
> column_1 = 1:120,
> column_2 = structure(c(
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8,
> 1,2,3,4,5,6,7,8), .Label = c("Unst.", "ESAT6", "CFP10", "Rv3615c",
> "Rv2654", "Rv3879", "Rv3873", "PHA"), class = "factor"),
> column_3 = structure(c(
> 0,0,0,0,0,0,0,0,
> 0,0,0,0,0,0,0,0,
> 0,0,0,0,0,0,0,0,
> 0,0,0,0,0,0,0,0,
> 0,0,0,0,0,0,0,0,
> 0,0,0,0,0,0,0,0,
> 0,0,0,0,0,0,0,0,
> 1,1,1,1,1,1,1,1,
> 1,1,1,1,1,1,1,1,
> 1,1,1,1,1,1,1,1,
> 1,1,1,1,1,1,1,1,
> 1,1,1,1,1,1,1,1,
> 1,1,1,1,1,1,1,1,
> 1,1,1,1,1,1,1,1,
> 0,0,0,0,0,0,0,0)),
> column_4 = c(
> 192.0519108,183.6403531,53.46798757,83.60638077,69.60749873,159.4706861,256.8765622,499.2899303,
> 2170.799076,1411.349719,2759.472348,2098.973397,2164.739515,1288.676574,1611.486543,6205.229575,
> 870.7424981,465.9967135,191.8962375,864.0937485,2962.693675,1289.259137,2418.651212,7345.712517,
> 0,168.1198893,674.4342961,101.1575401,47.81596237,0,0,1420.793922,
> 142.6871331,5.466468742,291.9564635,80.73914133,73.02239621,64.47806871,144.3543635,3167.959757,
> 3164.748333,1092.634557,28733.20269,1207.87783,729.6090973,151.8706088,241.2466141,9600.963594,
> 1411.718287,12569.96285,1143.254476,6317.378481,16542.27718,79.68025792,1958.495138,7224.503437,
> 208.4382941,69.48609769,656.691151,0.499017582,7114.910926,187.6296174,41.73980805,8930.784541,
> 4.276752185,0.432300363,60.89228665,1.103924786,0.490686366,1.812993239,7.264531581,1518.610307,
> 2172.051528,595.8513744,17141.84336,589.6565971,1340.287628,117.350942,593.7034054,24043.61463,
> 0,81.83292179,1539.864321,36.41722958,8.385131047,161.7647376,65.21615696,7265.573875,
> 97.84753179,154.051827,0.613835842,10.06138851,45.04879285,176.8284258,18795.75462,30676.769,
> 5780.34957,944.2200834,2398.235596,1083.393165,2541.714557,1251.670895,1547.178549,1792.679176,
> 3067.988416,8117.210173,23676.02226,8251.937547,17360.80494,18563.61561,16941.865,31453.96708,
> 2767.493803,4796.33016,12292.93705,3864.657567,9380.673835,14886.44683,8457.88646,26050.47191)),
> .Names = c("row", "stimulation", "positivity", "copy"), row.names =
> c(NA, -120L),
> class = "data.frame")
>
>
> key.plot<-list(
> space="top", columns=2,
> text=list(c("Positive", "Negative"), col="black"),
> points=list(pch=c(16,1), col="black"))
>
> datmeA <- aggregate(copy ~ positivity+stimulation, my.data, median, na.rm = T)
>
> stripplot(
> copy ~ factor(positivity)|factor(stimulation,
> levels = c("Unst.", "ESAT6","CFP10","Rv3615c", "Rv2654",
> "Rv3879", "Rv3873","PHA")),
> group = positivity,
> my.data,
> hor=F,
> layout = c(8,1),
> scales = list(x = list(at = c(1,2), labels = c("N","P"))),
> jitter.data=TRUE, pch=c(16,1), col="black",
> ylab=expression(bold("Copy")),
> xlab=expression(bold("Stimulation")), main="Plot",
> par.settings = list(strip.background=list(col="white")),
> par.strip.text=list(font=2),
> key = key.plot,
> panel = function(x, y){
> pnl = panel.number()
> panel.abline(h = datmeA[datmeA[,2]==
>
> levels(datmeA[,2])[pnl],"ratio"], col = c("red","black"), lty=3)
>
> panel.stripplot(x,y, ...)
> }
> )
>
> On Sun, Apr 27, 2014 at 2:06 AM, Duncan Mackay <dulcalma at bigpond.com> wrote:
>> Hi Luigi
>>
>> You are typing things unnecessarily: do not use the attach command unless
>> absolutely necessary - it has unfortunate consequences.
>> It is better to use with or within.
>> alpha is not available with some devices with bad consequences if used; its
>> default is 1 anyway.
>>
>> Once you have stated a data.frame as the data object it is usually not
>> necessary to use the data.frame$ sign in to signify column names: use the
>> column names.
>> data = "a data.frame" is the equivalent to with
>>
>> You are reordering the levels of stimulation and changing the name of 1 so I
>> thought it was easiest to make a column stim and do things there otherwise
>> it the relevelling could be done in the data argument using the subset
>> argument. Then the change to "Unst" could be done by using strip =
>> strip.custom(factor.levels = ...),
>>
>> To change for the -/+ I made a group - the easiest way.
>> Have a look a changing the negative symbol to 20 or something else as it is
>> hard to visualise. You may vary things with changing cex (remember to have 2
>> values 1 for each group).
>>
>> If you do str(xyplot object) you will get a big print of the object and
>> within that the x limits are shown as "0", "1" which means that the x values
>> are 1 and 2
>> There is a command to get these things but I have forgotten it
>>
>> my.data$stimulation <- factor(levels = c("Unstimulated",
>> "ESAT6","CFP10","Rv3615c","Rv2654", "Rv3879", "Rv3873","PHA"))
>> my.data$stim <- factor(my.data$stimulation, labels = c("Unst.",
>> "ESAT6","CFP10","Rv3615c","Rv2654", "Rv3879", "Rv3873","PHA"))
>> my.data$pos <- ifelse(sign(my.data$copy) > 0, 2,1)
>>
>> stripplot(copy ~ factor(positivity)|stim,my.data,
>> groups = pos,
>> hor = F,
>> layout = c(8,1),
>> scales = list(x = list(at = c(1,2),
>> labels = c("N","P"))),
>> jitter.x = TRUE,
>> amount = 2,
>> pch = c(16,1),
>> col = "black",
>> ylab = expression(bold("Copy")),
>> xlab = expression(bold("Stimulation")),
>> main="Plot",
>> par.settings = list(strip.background=list(col="white")),
>> par.strip.text=list(font=2)
>> )
>>
>> Regards
>>
>> Duncan
>>
>> Duncan Mackay
>> Department of Agronomy and Soil Science
>> University of New England
>> Armidale NSW 2351
>> Email: home: mackay at northnet.com.au
>>
>>
>> -----Original Message-----
>> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On
>> Behalf Of Luigi Marongiu
>> Sent: Sunday, 27 April 2014 02:07
>> To: r-help at r-project.org
>> Subject: [R] lattice plot formatting: pch, abbreviation and labels
>>
>> Dear all,
>> I am trying to use the lattice plot, but the syntax is quite
>> difficult. Specifically I have eight variables (1 to 8) each of them
>> further subdivided in two classes (negative=0 and positive=1). I am
>> using the stripplot() to represent these values. I would like to
>> represent the negative and positive values with black and white dots
>> so I have tried to use the argument pch=c(16, 1) both in the main
>> stripplot function and embedded in the scale argument. However the
>> resulting plot shows that some points are drawn with the pch=16 and
>> other with pch=1 irrespective of their class.
>> Is there a way to draw the values for the variable positivity = 0 with
>> pch=16 and those with positivity = 1 with pch=0?
>>
>> In addition I would like to change the labels under the axis from 0,1
>> to N,P. However when I placed labels=c("N", "P") or labels=list("N",
>> "P") in the main stripplot() I did not obtained any difference and
>> when placed within the scale argument also the -labels were modified.
>> Is there a way to change the label 0 with N and the label 1 with P?
>>
>> final problem: I would like to abbreviate the "Unstimulated" box label
>> with "Unst.". I have tried the abbreviate=TRUE argument but again the
>> syntax is too complex for me and it did not work.
>> Is there a way to abbreviate the variables names?
>>
>> Thank you very much for your help.
>> Best wishes,
>> Luigi
>>
>>
>> CODE:::::::::
>>
>>
>> ### open plot library
>> library(lattice)
>>
>> my.data<-structure(list(
>> column_1 = 1:120,
>> column_2 = structure(c(
>> 1,2,3,4,5,6,7,8,
>> 1,2,3,4,5,6,7,8,
>> 1,2,3,4,5,6,7,8,
>> 1,2,3,4,5,6,7,8,
>> 1,2,3,4,5,6,7,8,
>> 1,2,3,4,5,6,7,8,
>> 1,2,3,4,5,6,7,8,
>> 1,2,3,4,5,6,7,8,
>> 1,2,3,4,5,6,7,8,
>> 1,2,3,4,5,6,7,8,
>> 1,2,3,4,5,6,7,8,
>> 1,2,3,4,5,6,7,8,
>> 1,2,3,4,5,6,7,8,
>> 1,2,3,4,5,6,7,8,
>> 1,2,3,4,5,6,7,8), .Label = c("Unstimulated", "ESAT6", "CFP10",
>> "Rv3615c", "Rv2654", "Rv3879", "Rv3873", "PHA"), class = "factor"),
>> column_3 = structure(c(
>> 0,0,0,0,0,0,0,0,
>> 0,0,0,0,0,0,0,0,
>> 0,0,0,0,0,0,0,0,
>> 0,0,0,0,0,0,0,0,
>> 0,0,0,0,0,0,0,0,
>> 0,0,0,0,0,0,0,0,
>> 0,0,0,0,0,0,0,0,
>> 1,1,1,1,1,1,1,1,
>> 1,1,1,1,1,1,1,1,
>> 1,1,1,1,1,1,1,1,
>> 1,1,1,1,1,1,1,1,
>> 1,1,1,1,1,1,1,1,
>> 1,1,1,1,1,1,1,1,
>> 1,1,1,1,1,1,1,1,
>> 0,0,0,0,0,0,0,0)),
>> column_4 = c(
>>
>> 192.0519108,183.6403531,53.46798757,83.60638077,69.60749873,159.4706861,256.
>> 8765622,499.2899303,
>>
>> 2170.799076,1411.349719,2759.472348,2098.973397,2164.739515,1288.676574,1611
>> .486543,6205.229575,
>>
>> 870.7424981,465.9967135,191.8962375,864.0937485,2962.693675,1289.259137,2418
>> .651212,7345.712517,
>> 0,168.1198893,674.4342961,101.1575401,47.81596237,0,0,1420.793922,
>>
>> 142.6871331,5.466468742,291.9564635,80.73914133,73.02239621,64.47806871,144.
>> 3543635,3167.959757,
>>
>> 3164.748333,1092.634557,28733.20269,1207.87783,729.6090973,151.8706088,241.2
>> 466141,9600.963594,
>>
>> 1411.718287,12569.96285,1143.254476,6317.378481,16542.27718,79.68025792,1958
>> .495138,7224.503437,
>>
>> 208.4382941,69.48609769,656.691151,0.499017582,7114.910926,187.6296174,41.73
>> 980805,8930.784541,
>>
>> 4.276752185,0.432300363,60.89228665,1.103924786,0.490686366,1.812993239,7.26
>> 4531581,1518.610307,
>>
>> 2172.051528,595.8513744,17141.84336,589.6565971,1340.287628,117.350942,593.7
>> 034054,24043.61463,
>>
>> 0,81.83292179,1539.864321,36.41722958,8.385131047,161.7647376,65.21615696,72
>> 65.573875,
>>
>> 97.84753179,154.051827,0.613835842,10.06138851,45.04879285,176.8284258,18795
>> .75462,30676.769,
>>
>> 5780.34957,944.2200834,2398.235596,1083.393165,2541.714557,1251.670895,1547.
>> 178549,1792.679176,
>>
>> 3067.988416,8117.210173,23676.02226,8251.937547,17360.80494,18563.61561,1694
>> 1.865,31453.96708,
>>
>> 2767.493803,4796.33016,12292.93705,3864.657567,9380.673835,14886.44683,8457.
>> 88646,26050.47191)),
>> .Names = c("row", "stimulation", "positivity", "copy"), row.names =
>> c(NA, -120L),
>> class = "data.frame")
>> attach(my.data)
>>
>> stripplot(my.data$copy ~
>> factor(my.data$positivity)|factor(my.data$stimulation,
>> levels = c("Unstimulated", "ESAT6","CFP10","Rv3615c",
>> "Rv2654", "Rv3879", "Rv3873","PHA")),
>> my.data, hor=F, layout = c(8,1), scales = list(relation =
>> "same"),
>> jitter.data=TRUE, alpha=1, pch=c(16,1), col="black",
>> ylab=expression(bold("Copy")),
>> xlab=expression(bold("Stimulation")), main="Plot",
>> par.settings = list(strip.background=list(col="white")),
>> par.strip.text=list(font=2))
>>
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
>
More information about the R-help
mailing list