[R] graphs, need urgent help (deadline :( )

Don McKenzie dmck at u.washington.edu
Wed Jun 10 20:21:01 CEST 2015


You need to substitute the real name of the data frame for “my.data”.  That was just my example.  :-)

> On Jun 10, 2015, at 11:03 AM, Rosa Oliveira <rosita21 at gmail.com> wrote:
> 
> Sorry,
> 
> I taught I attached the cvs file :)
> 
> <therapy.csv>
> 
> 
> Don,
> 
> I tried, but I got an error:
> 
> > my.data$Region
>  [1]  1  2  3  4  5  6  7  8  9 10  1  2  3  4  5  6  7  8  9 10  1  2  3  4  5  6  7  8  9 10
> > my.data$sample
>  [1]   50   50   50   50   50   50   50   50   50   50  250  250  250  250  250  250  250  250  250  250 1000 1000 1000 1000 1000 1000 1000 1000
> [29] 1000 1000
> > my.data$factor.a
>  [1] 0.895 0.811 0.685 0.777 0.600 0.466 0.446 0.392 0.256 0.198 0.136 0.121 0.875 0.777 0.685 0.626 0.550 0.466 0.384 0.330 0.060 0.138 0.065
> [24] 0.034 0.931 0.124 0.060 0.028 0.017 0.014
> 
> 
> > plot(my.data$Region[my.data$sample==50],my.data$factor.a[my.data$sample==50],col=4,type=“l”,xlab=“Region”,ylab=“factor")
> Error: unexpected input in "plot(my.data$Region[my.data$sample==50],my.data$factor.a[my.data$sample==50],col=4,type=�”
> 
> 
> I’m really naive, right?
> 
> 
> 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 18:10, Don McKenzie <dmck at u.washington.edu <mailto:dmck at u.washington.edu>> wrote:
>> 
>> 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 <mailto: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 <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>
>>> 
>> 
>> <PastedGraphic-1.tiff>
>> 
> 





More information about the R-help mailing list