[R] graphs, need urgent help (deadline :( )
Don McKenzie
dmck at u.washington.edu
Wed Jun 10 19:10:26 CEST 2015
For a legend, try (untested)
legend(0.15,0.9,c("factora","factorb","factorc"),col=c(4,2,3),lty=1)
If it overlaps data points move the first two arguments (0.15 and 0.9) around, or change the “ylim” argument in the plot() to ~1.2.
to avoid clutter, put the line-types information in the figure caption (IMO)
> On Jun 10, 2015, at 10:03 AM, Don McKenzie <dmck at u.washington.edu> wrote:
>
>
>> On Jun 10, 2015, at 9:08 AM, Rosa Oliveira <rosita21 at gmail.com <mailto:rosita21 at gmail.com>> wrote:
>>
>> Dear All,
>>
>>
>> I attach my data.
>>
>> Dear Jim,
>>
>> when I run your code (even the one you send me, not in my data), I get:
>>
>> Don't know how to automatically pick scale for object of type function. Defaulting to continuous
>> Error in data.frame(x = c(0.1, 0.2, 0.1, 0.2, 0.1, 0.2, 0.1, 0.2, 0.1, :
>> arguments imply differing number of rows: 24, 0
>>
>>
>>
>> Dear Don,
>>
>> It’s meant that I will have 12 lines:
>> 3 factors - lines colors
>> with 3 different values of “sample” for each - line types
>>
>>
>> [Three colors, one for each factor,
>> and three line types (lty=1,2,3), one for eachvalue of “sample - preferable dash, thin and thick).
>>
>>
>> in the X - I should have region (because I have 10 regions)
>> for each region I have the outcome of 3 different treatments (factor)
>> for each region and each treatment I have 3 different sample size.
>
> But in your original post you had 4 sample sizes: 10,20,30,40.
>>
>> I need to “see” the the influence of the region in the treatment outcome for each sample size.
>>
>> So, at the end I should have 9 lines
>> 3 red (1 dash, 1 thin, 1 thick) - concerning factor a (dash for sample size 50, thin for sample size 250 and thick for sample size 1000)
>> 3 blue (1 dash, 1 thin, 1 thick) - concerning factor b (dash for sample size 50, thin for sample size 250 and thick for sample size 1000)
>> 3 green (1 dash, 1 thin, 1 thick) - concerning factor c (dash for sample size 50, thin for sample size 250 and thick for sample size 1000)
>>
>>
>>
>> Hope this time is clear.
>>
>>
>> I also though about doing 3 different graphs, each one for 1 different sample size, and in that case I should have 3 graphs each one with 3 lines
>> 1 red to factor a, 1 blue to factor b and 1 green to factor c.
>>
>> Do you all think is better?
>
> A matter of style perhaps but I would use dotplots because you have only two data points for each “line”. The lines will be misleading. You also could use
> panel plots, but given your skill set (unless someone wants to spend a fair bit of time with you), it’s probably best to stay as simple as possible.
>
> But given your original post (cleaned up) # untested: apologies for any typos
>
>> region sample factora factorb factorc
>> 0.1 10 0.895 0.903 0.378
>> 0.2 10 0.811 0.865 0.688
>> 0.1 20 0.735 0.966 0.611
>> 0.2 20 0.777 0.732 0.653
>> 0.1 30 0.600 0.778 0.694
>> 0.2 30 0.466 174.592 0.461
>> 0.1 40 0.446 0.432 0.693
>> 0.2 40 0.392 0.294 0.686
>
>
> plot(my.data$region[my.data$sample==10],my.data$factora[my.data$sample==10],col=4,type=“l”,ylim=c(0,1),xlab=“region”,ylab=“factor")
> lines(my.data$region[my.data$sample==10],my.data$factorb[my.data$sample==10],col=2)
> lines(my.data$region[my.data$sample==10],my.data$factorc[my.data$sample==10],col=3)
>
> lines(my.data$region[my.data$sample==20],my.data$factora[my.data$sample==20],col=4,lty=2)
> lines(my.data$region[my.data$sample==20],my.data$factorb[my.data$sample==20],col=2,lty=2)
> lines(my.data$region[my.data$sample==20],my.data$factorc[my.data$sample==20],col=3,lty=2)
>
> # Now do two more groups of 3, changing the parameter “lty” to 3 and then 4
>
>
> # Look at the syntax and note what changes and what stays constant. Do you see how this works?
> # there will be what looks like a vertical line where sample = 30 and factorb = 174.592. Do you see why?
>
> # then you will need a legend
>
>> Nonetheless I can’t do it :(
>>
>> best,
>> RO
>>
>>
>>
>> Atenciosamente,
>> Rosa Oliveira
>>
>> --
>> ____________________________________________________________________________
>>
>> <smile.jpg>
>> Rosa Celeste dos Santos Oliveira,
>>
>> E-mail: rosita21 at gmail.com <mailto:rosita21 at gmail.com>
>> Tlm: +351 939355143
>> Linkedin: https://pt.linkedin.com/in/rosacsoliveira <https://pt.linkedin.com/in/rosacsoliveira>
>> ____________________________________________________________________________
>> "Many admire, few know"
>> Hippocrates
>>
>>> On 10 Jun 2015, at 14:13, John Kane <jrkrideau at inbox.com <mailto:jrkrideau at inbox.com>> wrote:
>>>
>>> Hi Jim,
>>>
>>> I was looking at that last night and had the same problem of visualizing what Rosa needed.
>>>
>>> Hi Rosa
>>> This is nothing like what you wanted and I really don't understand your data but would something like this work as a substitute or am I completely lost?
>>>
>>>
>>> dat1 <- structure(list(region = c(0.1, 0.2, 0.1, 0.2, 0.1, 0.2, 0.1,
>>> 0.2), sample = c(10L, 10L, 20L, 20L, 30L, 30L, 40L, 40L), factora = c(0.895,
>>> 0.811, 0.735, 0.777, 0.6, 0.466, 0.446, 0.392), factorb = c(0.903,
>>> 0.865, 0.966, 0.732, 0.778, 0.592, 0.432, 0.294), factorc = c(0.37,
>>> 0.688, 0.611, 0.653, 0.694, 0.461, 0.693, 0.686)), .Names = c("region",
>>> "sample", "factora", "factorb", "factorc"), class = "data.frame", row.names = c(NA,
>>> -8L))
>>>
>>>
>>> mdat1 <- melt(dat1, id.var = c("region", "sample"),
>>> variable.name = "factor",
>>> value.name = "value")
>>> str(mdat1)
>>>
>>> ggplot(mdat1, aes(region, value, colour = factor)) +
>>> geom_line() + facet_grid(sample ~ .)
>>>
>>> John Kane
>>> Kingston ON Canada
>>>
>>>
>>>> -----Original Message-----
>>>> From: drjimlemon at gmail.com <mailto:drjimlemon at gmail.com>
>>>> Sent: Wed, 10 Jun 2015 20:51:52 +1000
>>>> To: rosita21 at gmail.com <mailto:rosita21 at gmail.com>
>>>> Subject: Re: [R] graphs, need urgent help (deadline :( )
>>>>
>>>> Hi Rosa,
>>>> Like Don, I can't work out what you want and I don't even have the
>>>> picture. For example, your specification of color and line type leaves
>>>> only one point for each color and line type, and the line from one
>>>> point to the same point is not going to show up. Here is a possibility
>>>> that may lead (eventually) to a solution.
>>>>
>>>> library(plotrix)
>>>> par(tcl=-0.1)
>>>> gap.plot(x=rep(seq(10,45,by=5),3),
>>>> y=unlist(my.data[,c("factora","factorb","factorc")]),
>>>> main="A plot of factorial mystery",
>>>> gap=c(1.1,174),ylim=c(0,175),ylab="factor score",xlab="Group",
>>>> xticlab=c(" \n0.1\n10"," \n0.2\n10"," \n0.1\n20"," \n0.2\n20",
>>>> " \n0.1\n30"," \n0.2\n30"," \n0.1\n40"," \n0.2\n40"),
>>>> ytics=c(0,0.5,1,174.59),pch=rep(1:3,each=8),col=rep(c(4,2,3),each=8))
>>>> mtext(c("Region","Sample"),side=1,at=6,line=c(0,1))
>>>> lines(seq(10,45,by=5),my.data$factora,col=4)
>>>> lines(seq(10,45,by=5),my.data$factorb[c(1:5,NA,7,8)],col=2)
>>>> lines(seq(10,45,by=5),my.data$factorc,col=3)
>>>>
>>>> Jim
>>>>
>>>>
>>>> On Wed, Jun 10, 2015 at 10:53 AM, Rosa Oliveira <rosita21 at gmail.com <mailto:rosita21 at gmail.com>>
>>>> wrote:
>>>>> Dear Don and all,
>>>>>
>>>>> I’ve read the tutorial and tried several codes before posting :)
>>>>> I’m really naive.
>>>>>
>>>>>
>>>>>
>>>>> what I was trying to : is something like the graph in the picture I
>>>>> drawee.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Is it more clear now?
>>>>>
>>>>> Atenciosamente,
>>>>> Rosa Oliveira
>>>>>
>>>>> --
>>>>> ____________________________________________________________________________
>>>>>
>>>>>
>>>>> Rosa Celeste dos Santos Oliveira,
>>>>>
>>>>> E-mail: rosita21 at gmail.com <mailto:rosita21 at gmail.com> <mailto:rosita21 at gmail.com <mailto:rosita21 at gmail.com>>
>>>>> Tlm: +351 939355143
>>>>> Linkedin: https://pt.linkedin.com/in/rosacsoliveira <https://pt.linkedin.com/in/rosacsoliveira>
>>>>> <https://pt.linkedin.com/in/rosacsoliveira <https://pt.linkedin.com/in/rosacsoliveira>>
>>>>> ____________________________________________________________________________
>>>>> "Many admire, few know"
>>>>> Hippocrates
>>>>>
>>>>>> On 09 Jun 2015, at 19:23, Don McKenzie <dmck at u.washington.edu <mailto:dmck at u.washington.edu>
>>>>>> <mailto:dmck at u.washington.edu <mailto:dmck at u.washington.edu>>> wrote:
>>>>>>
>>>>>> The answer lies in learning to use the help (and knowing where to
>>>>>> start). Did you look at the tutorial that comes with the R
>>>>>> installation?
>>>>>>
>>>>>> ?plot
>>>>>> ?lines
>>>>>>
>>>>>> ?par
>>>>>>
>>>>>> In the last, look for the descriptions of “col” and “lty”.
>>>>>>
>>>>>> Using plot() and lines(), and subsetting the four unique values of
>>>>>> “sample”, you can create your lines.
>>>>>>
>>>>>> Here is a crude start, assuming your columns are part of a data frame
>>>>>> called “my.data”. Untested...
>>>>>>
>>> plot(my.data$region[my.data$sample==10],my.data$factora[my.data$sample==10],col=4)
>>>>>> # blue line, not dashed
>>>>>> .
>>>>>> .
>>>>>> .
>>> lines(my.data$region[my.data$sample==20],my.data$factorb[my.data$sample==20],col=2,lty=2)
>>>>>> # red dashed line
>>>>>>
>>>>>>
>>>>>>> On Jun 9, 2015, at 10:36 AM, Rosa Oliveira <rosita21 at gmail.com <mailto:rosita21 at gmail.com>
>>>>>>> <mailto:rosita21 at gmail.com <mailto:rosita21 at gmail.com>>> wrote:
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> another naive question (i’m pretty sure :( )
>>>>>>>
>>>>>>>
>>>>>>> I’m trying to plot a multiple line graph:
>>>>>>>
>>>>>>> region sample factora factorb
>>>>>>> factorc
>>>>>>> 0.1 10 0.895 0.903 0.378
>>>>>>> 0.2 10 0.811 0.865 0.688
>>>>>>> 0.1 20 0.735 0.966 0.611
>>>>>>> 0.2 20 0.777 0.732 0.653
>>>>>>> 0.1 30 0.600 0.778 0.694
>>>>>>> 0.2 30 0.466 174.592 0.461
>>>>>>> 0.1 40 0.446 0.432 0.693
>>>>>>> 0.2 40 0.392 0.294 0.686
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> The first column should be the independent variable, the second should
>>>>>>> compute a bold line for sample(10) and dash line for sample 20.
>>>>>>
>>>>>> What about the other two values of “sample”?
>>>>>>
>>>>>>> The others variables are outcomes for each of the first scenarios, and
>>>>>>> so it should: the 3rd, 4th and 5th columns should be blue, red and
>>>>>>> green respectively.
>>>>>>>
>>>>>>>
>>>>>>> Resume :)
>>>>>>>
>>>>>>> I should have a graph, in the x-axe should have the region and in the
>>>>>>> y axe, the factor.
>>>>>>> Lines:
>>>>>>> 1 - blue and bold for region 0.1, sample 10 and factor a
>>>>>>> 2 - blue and dash for region 0.2, sample 10 and factor a
>>>>>>> 3 - red and bold for region 0.1, sample 10 and factor b
>>>>>>> 4 - red and dash for region 0.2, sample 10 and factor b
>>>>>>> 5 - green and bold for region 0.1, sample 10 and factor c
>>>>>>> 6 - green and dash for region 0.2, sample 10 and factor c
>>>>>>
>>>>>> Not consistent with what you said above. These are no longer lines, but
>>>>>> points.
>>>>>>>
>>>>>>> nonetheless the independent variable is nominal, I should plot a line
>>>>>>> graph.
>>>>>>>
>>>>>>> Can anyone help me please?
>>>>>>> I have my file as a cvs file, so I first read that file (that I know
>>>>>>> how to do :)).
>>>>>>>
>>>>>>> But I have it in that format.
>>>>>>>
>>>>>>> Best,
>>>>>>> RO
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Atenciosamente,
>>>>>>> Rosa Oliveira
>>>>>>>
>>>>>>> --
>>>>>>> ____________________________________________________________________________
>>>>>>>
>>>>>>>
>>>>>>> Rosa Celeste dos Santos Oliveira,
>>>>>>>
>>>>>>> E-mail: rosita21 at gmail.com <mailto:rosita21 at gmail.com> <mailto:rosita21 at gmail.com <mailto:rosita21 at gmail.com>>
>>>>>>> Tlm: +351 939355143
>>>>>>> Linkedin: https://pt.linkedin.com/in/rosacsoliveira <https://pt.linkedin.com/in/rosacsoliveira>
>>>>>>> <https://pt.linkedin.com/in/rosacsoliveira <https://pt.linkedin.com/in/rosacsoliveira>>
>>>>>>> ____________________________________________________________________________
>>>>>>> "Many admire, few know"
>>>>>>> Hippocrates
>>>>>>>
>>>>>>>
>>>>>>> [[alternative HTML version deleted]]
>>>>>>>
>>>>>>> ______________________________________________
>>>>>>> R-help at r-project.org <mailto:R-help at r-project.org> <mailto:R-help at r-project.org <mailto:R-help at r-project.org>> mailing list -- To
>>>>>>> UNSUBSCRIBE and more, see
>>>>>>> https://stat.ethz.ch/mailman/listinfo/r-help <https://stat.ethz.ch/mailman/listinfo/r-help>
>>>>>>> <https://stat.ethz.ch/mailman/listinfo/r-help <https://stat.ethz.ch/mailman/listinfo/r-help>>
>>>>>>> PLEASE do read the posting guide
>>>>>>> http://www.R-project.org/posting-guide.html <http://www.r-project.org/posting-guide.html>
>>>>>>> <http://www.r-project.org/posting-guide.html>
>>>>>>> and provide commented, minimal, self-contained, reproducible code.
>>>>>>
>>>>>> <PastedGraphic-1.tiff>
>>>>>>
>>>>>
>>>>> ______________________________________________
>>>>> R-help at r-project.org <mailto:R-help at r-project.org> mailing list -- To UNSUBSCRIBE and more, see
>>>>> https://stat.ethz.ch/mailman/listinfo/r-help <https://stat.ethz.ch/mailman/listinfo/r-help>
>>>>> PLEASE do read the posting guide
>>>>> http://www.R-project.org/posting-guide.html <http://www.r-project.org/posting-guide.html>
>>>>> and provide commented, minimal, self-contained, reproducible code.
>>>>
>>>> ______________________________________________
>>>> R-help at r-project.org <mailto:R-help at r-project.org> mailing list -- To UNSUBSCRIBE and more, see
>>>> https://stat.ethz.ch/mailman/listinfo/r-help <https://stat.ethz.ch/mailman/listinfo/r-help>
>>>> PLEASE do read the posting guide
>>>> http://www.R-project.org/posting-guide.html <http://www.r-project.org/posting-guide.html>
>>>> and provide commented, minimal, self-contained, reproducible code.
>>>
>>> ____________________________________________________________
>>> FREE 3D MARINE AQUARIUM SCREENSAVER - Watch dolphins, sharks & orcas on your desktop!
>>> Check it out at http://www.inbox.com/marineaquarium <http://www.inbox.com/marineaquarium>
>>>
>>>
>>
>
> <PastedGraphic-1.tiff>
>
More information about the R-help
mailing list