wuhu, the plot is running now;) I had to put three brackets instead of two at the end of the formula.
Thank you! Am 30.05.2017 um 21:29 schrieb Ismail SEZEN: > >> On 30 May 2017, at 21:44, Tobias Christoph <s3toc...@uni-bayreuth.de >> <mailto:s3toc...@uni-bayreuth.de>> wrote: >> >> Okay;) >> >> First of all many thanks to you, Ismail, that you really try to help >> me. I am really not an expert with R and try to learn. >> > You’re welcome. > >> I just checked: All columns in my data frame are numeric. The range >> of years is from 2005 to 2016. >> >> Please find attached the result of "data.frame(data)". I also >> attached it as Excel-file >> >> >data.frame(data) town year revenue stations >> 1 Bremen 2005 39.91036 1 >> 2 Bremen 2006 43.34265 1 >> 3 Bremen 2007 44.03614 1 >> 4 Bremen 2008 43.19945 1 >> 5 Bremen 2009 39.05230 1 >> 6 Bremen 2010 44.24626 1 >> 7 Bremen 2011 46.19309 35 >> 8 Bremen 2012 48.59513 101 >> 9 Bremen 2013 48.15778 181 >> 10 Bremen 2014 48.83199 323 >> 11 Bremen 2015 48.68549 463 >> 12 Bremen 2016 50.00000 614 >> 13 Dresden 2005 42.27858 1 >> 14 Dresden 2006 50.39606 1 >> 15 Dresden 2007 48.73299 1 >> 16 Dresden 2008 42.69010 1 >> 17 Dresden 2009 40.81174 1 >> 18 Dresden 2010 47.09675 2 >> 19 Dresden 2011 49.16900 43 >> 20 Dresden 2012 48.13645 151 >> 21 Dresden 2013 48.13645 284 >> 22 Dresden 2014 49.77309 511 >> 23 Dresden 2015 51.51515 773 >> 24 Dresden 2016 51.00000 1057 >> 25 Düsseldorf 2005 44.23227 1 >> 26 Düsseldorf 2006 46.70928 1 >> 27 Düsseldorf 2007 51.24008 1 >> 28 Düsseldorf 2008 61.59058 1 >> 29 Düsseldorf 2009 45.70021 1 >> 30 Düsseldorf 2010 57.17096 8 >> 31 Düsseldorf 2011 60.60122 115 >> 32 Düsseldorf 2012 65.50992 339 >> 33 Düsseldorf 2013 64.06870 636 >> 34 Düsseldorf 2014 71.56474 1117 >> 35 Düsseldorf 2015 68.20119 1622 >> 36 Düsseldorf 2016 80.00000 2117 >> 37 Essen 2005 37.71029 1 >> 38 Essen 2006 44.61127 1 >> 39 Essen 2007 41.39926 1 >> 40 Essen 2008 49.34792 1 >> 41 Essen 2009 38.49137 1 >> 42 Essen 2010 51.57844 1 >> 43 Essen 2011 48.38058 29 >> 44 Essen 2012 50.17066 42 >> 45 Essen 2013 49.26759 90 >> 46 Essen 2014 50.20367 162 >> 47 Essen 2015 47.89430 258 >> 48 Essen 2016 58.00000 370 >> 49 Frankfurt 2005 47.97355 1 >> 50 Frankfurt 2006 50.37223 1 >> 51 Frankfurt 2007 49.11292 1 >> 52 Frankfurt 2008 49.65316 1 >> 53 Frankfurt 2009 44.53889 3 >> 54 Frankfurt 2010 54.02567 15 >> 55 Frankfurt 2011 56.29475 80 >> 56 Frankfurt 2012 59.10949 223 >> 57 Frankfurt 2013 62.30140 488 >> 58 Frankfurt 2014 62.67521 836 >> 59 Frankfurt 2015 66.93712 1319 >> 60 Frankfurt 2016 66.00000 1744 >> 61 Hannover 2005 39.82472 1 >> 62 Hannover 2006 41.25841 1 >> 63 Hannover 2007 40.80456 1 >> 64 Hannover 2008 42.19192 1 >> 65 Hannover 2009 36.96012 1 >> 66 Hannover 2010 45.83055 5 >> 67 Hannover 2011 49.86364 35 >> 68 Hannover 2012 51.11023 167 >> 69 Hannover 2013 52.69465 351 >> 70 Hannover 2014 56.22519 983 >> 71 Hannover 2015 56.95612 1413 >> 72 Hannover 2016 61.00000 1864 >> 73 Leipzig 2005 29.05982 1 >> 74 Leipzig 2006 34.52306 1 >> 75 Leipzig 2007 35.97303 1 >> 76 Leipzig 2008 40.03798 1 >> 77 Leipzig 2009 37.67574 2 >> 78 Leipzig 2010 44.19365 3 >> 79 Leipzig 2011 44.72397 53 >> 80 Leipzig 2012 49.55416 223 >> 81 Leipzig 2013 52.92384 488 >> 82 Leipzig 2014 53.50600 918 >> 83 Leipzig 2015 54.62963 1517 >> 84 Leipzig 2016 59.00000 2037 >> 85 Nürnberg 2005 43.51885 1 >> 86 Nürnberg 2006 49.13278 1 >> 87 Nürnberg 2007 46.92181 1 >> 88 Nürnberg 2008 52.03628 1 >> 89 Nürnberg 2009 43.45030 1 >> 90 Nürnberg 2010 55.44258 5 >> 91 Nürnberg 2011 57.21674 48 >> 92 Nürnberg 2012 62.36625 145 >> 93 Nürnberg 2013 61.49312 297 >> 94 Nürnberg 2014 66.22809 505 >> 95 Nürnberg 2015 63.38028 813 >> 96 Nürnberg 2016 72.00000 1101 >> 97 Rostock 2005 32.56640 1 >> 98 Rostock 2006 30.71011 1 >> 99 Rostock 2007 33.71970 1 >> 100 Rostock 2008 34.25922 1 >> 101 Rostock 2009 34.60181 1 >> 102 Rostock 2010 40.17270 1 >> 103 Rostock 2011 42.06082 3 >> 104 Rostock 2012 42.43937 15 >> 105 Rostock 2013 43.67011 43 >> 106 Rostock 2014 43.93213 93 >> 107 Rostock 2015 47.35883 174 >> 108 Rostock 2016 52.00000 243 >> 109 Stuttgart 2005 50.72972 1 >> 110 Stuttgart 2006 58.74502 1 >> 111 Stuttgart 2007 53.45797 1 >> 112 Stuttgart 2008 56.18432 1 >> 113 Stuttgart 2009 46.29588 1 >> 114 Stuttgart 2010 56.38839 2 >> 115 Stuttgart 2011 58.92586 33 >> 116 Stuttgart 2012 61.16505 96 >> 117 Stuttgart 2013 60.12524 200 >> 118 Stuttgart 2014 65.89726 409 >> 119 Stuttgart 2015 71.49853 661 >> 120 Stuttgart 2016 73.00000 853 >> 121 Wiebaden 2005 37.40724 1 >> 122 Wiebaden 2006 38.94093 1 >> 123 Wiebaden 2007 38.08423 1 >> 124 Wiebaden 2008 38.23657 1 >> 125 Wiebaden 2009 34.98646 1 >> 126 Wiebaden 2010 40.72424 2 >> 127 Wiebaden 2011 44.59304 8 >> 128 Wiebaden 2012 47.58078 27 >> 129 Wiebaden 2013 46.86706 59 >> 130 Wiebaden 2014 46.58586 110 >> 131 Wiebaden 2015 48.12320 163 >> 132 Wiebaden 2016 50.00000 220 >> >> > > > Insead of copy and paste data.frame or attach an excel file, learn how > to create a minimal example as below: > > set.seed(6) > data <- data.frame( > town = rep(LETTERS, each = 5, times = 5)[1:60], > year = rep(2005:2016, times = 5), > revenue = rnorm(60, 35), > stations = round(rnorm(60, 250, 100))) > > plot(data$stations, data$revenue, xlab="stations", ylab="revenue", pch > = 16, col = findInterval(data$year, c(2005, 2010, 2016))) > > I created a fake data.frame similar your original one and used it to > plot. See the result of plot. It works as intended. > > let’s check result of findInterval function. > > findInterval(data$year, c(2005, 2010, 2016)) > [1] 1 1 1 1 1 2 2 2 2 2 2 3 1 1 1 1 1 2 2 2 2 2 2 3 1 1 1 1 1 2 2 2 2 > 2 2 3 1 1 1 1 1 2 2 2 2 2 2 3 1 1 1 1 1 2 2 2 2 2 2 3 > > and see the result of palette function. > > palette() > "black" "red" "green3" "blue" "cyan" "magenta" "yellow" > "gray" > > as you noticed, black dots in the plot will be belong to years between > 2005-2009, red dots will be belong to 2010-2015 and green dots will be > belong to only 2016. > > I hope your next questions follow this guide and make things easier > for you and us :) > > >> >> >> Am 30.05.2017 um 20:30 schrieb Ismail SEZEN: >>> >>>> On 30 May 2017, at 21:23, Tobias Christoph >>>> <s3toc...@uni-bayreuth.de <mailto:s3toc...@uni-bayreuth.de>> wrote: >>>> >>>> Ahh, okay. >>>> >>>> I think now I understand what you exactly mean. But the plot is >>>> stil not working /differentiate the dots by color. I used the >>>> following formula. >>>> >>>> "plot(data$stations, data$revenue, xlab="stations", ylab="revenue", >>>> col = findInterval(data$year, c(2005, 2010, 2015))" >>>> >>>> I think the problem is stil related to the term "col = >>>> findInterval(data$year, c(2005, 2010, 2015))" and its notation. >>>> >>>> Just to make sure: "data" is the name of the data-table imported in >>>> R. "year" is the lable of the column where the years are listed in >>>> the data-table? >>>> >>> Exactly. Make sure all the columns in data.frame are numeric. Also I >>> don’t know the range of years. You should arrange arguments to >>> findInterval according your data. If you would send a minimal >>> example as stated in posting guide [1], you will have your answer in >>> second email :). >>> >>> 1- http://www.R-project.org/posting-guide.html >>> <http://www.r-project.org/posting-guide.html> >>> >>>> Cheers >>>> >>>> >>>> >>>> Am 30.05.2017 um 19:57 schrieb Ismail SEZEN: >>>>> >>>>>> On 30 May 2017, at 20:48, Tobias Christoph >>>>>> <s3toc...@uni-bayreuth.de <mailto:s3toc...@uni-bayreuth.de>> wrote: >>>>>> >>>>>> Hi Ismael, >>>>>> >>>>>> thanks for your quick reply. >>>>>> >>>>>> I was now able to esmitate two intervals with the >>>>>> "findInterval"-Function. >>>>>> >>>>>> x >>>>>> [1,] 2005 1 >>>>>> [2,] 2006 1 >>>>>> [3,] 2007 1 >>>>>> [4,] 2008 1 >>>>>> [5,] 2009 1 >>>>>> [6,] 2010 1 >>>>>> [7,] 2011 2 >>>>>> [8,] 2012 2 >>>>>> [9,] 2013 2 >>>>>> [10,] 2014 2 >>>>>> [11,] 2015 2 >>>>>> [12,] 2016 2 >>>>>> >>>>>> But I was not able to connect the intervals with the >>>>>> plot-function. I used the following formular. >>>>>> >>>>>> "plot(data$stations, data$revenue, xlab="stations", >>>>>> ylab="revenue", col(findInterval())" >>>>>> >>>>> In fact I should say “feed _col_ or _pch_ argument with the result >>>>> of findInterval” as below: >>>>> >>>>> plot(data$stations, data$revenue, xlab="stations", ylab="revenue", >>>>> col = findInterval(x$year, c(2005, 2010, 2015)) >>>>> >>>>> Please note that If you have many (20-30) intervals, colour >>>>> handling will be more complex. But I assume you have maximum 5-10 >>>>> intervals. So, the piece of code above will work for you. >>>>> >>>>>> How can I proceed and get the plot-funktion running? >>>>>> >>>>>> Maybe it is not running because the years as single numbers are >>>>>> already contained in my data-frame? >>>>>> >>>>>> Cheers, >>>>>> >>>>>> Toby >>>>>> >>>>>> >>>>>> >>>>>> Am 30.05.2017 um 18:26 schrieb Ismail SEZEN: >>>>>>>> On 30 May 2017, at 19:02, Tobias Christoph<s3toc...@uni-bayreuth.de> >>>>>>>> wrote: >>>>>>>> >>>>>>>> Hey Guys, >>>>>>>> >>>>>>>> I just try to differentiate certain values in my plot by colour or >>>>>>>> symbol. >>>>>>>> >>>>>>>> I have panel data with three dimensions (number of stations, revenue, >>>>>>>> years). To integrate the third dimension (years) in the plot, I want to >>>>>>>> differentiate the values(number of stations, revenue) by a certain >>>>>>>> range >>>>>>>> of years. >>>>>>>> >>>>>>>> e.g.: 2005-2010: red coloured dots, 2011-2016, blue coloured dots >>>>>>>> >>>>>>>> For the normal plot I used the following formula: >>>>>>>> >>>>>>>> *plot(data$stations, data$revenue, xlab="stations", ylab="revenue")* >>>>>>>> >>>>>>>> I only found a way to mark every single year. So hopefully you can >>>>>>>> help? >>>>>>>> >>>>>>>> Cheers, >>>>>>>> >>>>>>>> Toby >>>>>>>> >>>>>>> See ?findInterval. Especially, first 3 lines in _Examples_ section. Use >>>>>>> result of findInterval as argument to _col_ or _pch_ in plot function. >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >> <data.xlsx> > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.