Dear R community,
With an advantage of being "NEW" to R, I would like to post a very
basic
query here,
I am in need of representing gene expression data which ranges from -0.09 to
+4, on plot "segment". please find below the data df, the expression
values
are in df[,2]. kindly help me with the code, so that I can represent the
values with a clear color gradient (something like -0.09 to 0 as red
gradient and 0 to +4 as green gradient)
location value
15 chr+:14001-15001 0.99749499
16 chr+:15001-16001 0.99957360
17 chr+:16001-17001 0.99166481
18 chr+:17001-18001 0.97384763
19 chr+:18001-19001 0.94630009
20 chr+:19001-20001 0.90929743
21 chr+:20001-21001 0.86320937
22 chr+:21001-22001 0.80849640
23 chr+:22001-23001 0.74570521
24 chr+:23001-24001 0.67546318
25 chr+:24001-25001 0.59847214
26 chr+:25001-26001 0.51550137
27 chr+:26001-27001 0.42737988
28 chr+:27001-28001 0.33498815
29 chr+:28001-29001 0.23924933
30 chr+:29001-30001 0.14112001
31 chr+:30001-31001 0.04158066
32 chr+:31001-32001 -0.05837414
33 chr+:32001-33001 -0.15774569
34 chr+:33001-34001 -0.25554110
35 chr+:34001-35001 -0.35078323
36 chr+:35001-36001 -0.44252044
37 chr+:36001-37001 -0.52983614
38 chr+:37001-38001 -0.61185789
39 chr+:38001-39001 -0.68776616
40 chr+:39001-40001 -0.75680250
41 chr+:40001-41001 -0.81827711
42 chr+:41001-42001 -0.87157577
43 chr+:42001-43001 -0.91616594
44 chr+:43001-44001 -0.95160207
Thanks in advance,
regards,
karthick
--
View this message in context:
http://r.789695.n4.nabble.com/to-represent-color-range-on-plot-segment-tp3773392p3773392.html
Sent from the R help mailing list archive at Nabble.com.
On Sat, Aug 27, 2011 at 11:07 AM, karthicklakshman <karthick.lakshman at gmail.com> wrote:> Dear R community, > > With an advantage of being "NEW" to R, I would like to post a very basic > query here,Really? I found two posts with your name on it dating from October and November of 2010. http://r-project.markmail.org/search/?q=karthicklakshman> > I am in need of representing gene expression data which ranges from -0.09 to > +4, on plot "segment". please find below the data df, the expression values > are in df[,2]. kindly help me with the code, so that I can represent the > values with a clear color gradient (something like -0.09 to 0 as red > gradient and 0 to +4 as green gradient)Please read the posting guide, linked at the bottom of this mail, especially the part about 'reproducible example'. You provided the data, but no code to show that you made a serious effort to solve this problem on your own. Moreover, since this is related to gene expression data, the Bioconductor list may be more appropriate for future questions re gene expression: http://www.bioconductor.org/help/mailing-list/ although this one is within the purview of R-help IMO. Use the sign of value (?sign) as an indicator variable to which you can map colors. I'd also think about creating a value for location (midpoint, maybe?) to simplify the plot call. It shouldn't be too difficult to do this in any of base graphics, lattice or ggplot2. Dennis> > ? ? ? ? ? ?location ? ? ? ? value > 15 ?chr+:14001-15001 ?0.99749499 > 16 ?chr+:15001-16001 ?0.99957360 > 17 ?chr+:16001-17001 ?0.99166481 > 18 ?chr+:17001-18001 ?0.97384763 > 19 ?chr+:18001-19001 ?0.94630009 > 20 ?chr+:19001-20001 ?0.90929743 > 21 ?chr+:20001-21001 ?0.86320937 > 22 ?chr+:21001-22001 ?0.80849640 > 23 ?chr+:22001-23001 ?0.74570521 > 24 ?chr+:23001-24001 ?0.67546318 > 25 ?chr+:24001-25001 ?0.59847214 > 26 ?chr+:25001-26001 ?0.51550137 > 27 ?chr+:26001-27001 ?0.42737988 > 28 ?chr+:27001-28001 ?0.33498815 > 29 ?chr+:28001-29001 ?0.23924933 > 30 ?chr+:29001-30001 ?0.14112001 > 31 ?chr+:30001-31001 ?0.04158066 > 32 ?chr+:31001-32001 -0.05837414 > 33 ?chr+:32001-33001 -0.15774569 > 34 ?chr+:33001-34001 -0.25554110 > 35 ?chr+:34001-35001 -0.35078323 > 36 ?chr+:35001-36001 -0.44252044 > 37 ?chr+:36001-37001 -0.52983614 > 38 ?chr+:37001-38001 -0.61185789 > 39 ?chr+:38001-39001 -0.68776616 > 40 ?chr+:39001-40001 -0.75680250 > 41 ?chr+:40001-41001 -0.81827711 > 42 ?chr+:41001-42001 -0.87157577 > 43 ?chr+:42001-43001 -0.91616594 > 44 ?chr+:43001-44001 -0.95160207 > > Thanks in advance, > regards, > karthick > > > > -- > View this message in context: http://r.789695.n4.nabble.com/to-represent-color-range-on-plot-segment-tp3773392p3773392.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > 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. >
?colorRamp On Sat, Aug 27, 2011 at 2:07 PM, karthicklakshman <karthick.lakshman at gmail.com> wrote:> Dear R community, > > With an advantage of being "NEW" to R, I would like to post a very basic > query here, > > I am in need of representing gene expression data which ranges from -0.09 to > +4, on plot "segment". please find below the data df, the expression values > are in df[,2]. kindly help me with the code, so that I can represent the > values with a clear color gradient (something like -0.09 to 0 as red > gradient and 0 to +4 as green gradient) > > ? ? ? ? ? ?location ? ? ? ? value > 15 ?chr+:14001-15001 ?0.99749499 > 16 ?chr+:15001-16001 ?0.99957360 > 17 ?chr+:16001-17001 ?0.99166481 > 18 ?chr+:17001-18001 ?0.97384763 > 19 ?chr+:18001-19001 ?0.94630009 > 20 ?chr+:19001-20001 ?0.90929743 > 21 ?chr+:20001-21001 ?0.86320937 > 22 ?chr+:21001-22001 ?0.80849640 > 23 ?chr+:22001-23001 ?0.74570521 > 24 ?chr+:23001-24001 ?0.67546318 > 25 ?chr+:24001-25001 ?0.59847214 > 26 ?chr+:25001-26001 ?0.51550137 > 27 ?chr+:26001-27001 ?0.42737988 > 28 ?chr+:27001-28001 ?0.33498815 > 29 ?chr+:28001-29001 ?0.23924933 > 30 ?chr+:29001-30001 ?0.14112001 > 31 ?chr+:30001-31001 ?0.04158066 > 32 ?chr+:31001-32001 -0.05837414 > 33 ?chr+:32001-33001 -0.15774569 > 34 ?chr+:33001-34001 -0.25554110 > 35 ?chr+:34001-35001 -0.35078323 > 36 ?chr+:35001-36001 -0.44252044 > 37 ?chr+:36001-37001 -0.52983614 > 38 ?chr+:37001-38001 -0.61185789 > 39 ?chr+:38001-39001 -0.68776616 > 40 ?chr+:39001-40001 -0.75680250 > 41 ?chr+:40001-41001 -0.81827711 > 42 ?chr+:41001-42001 -0.87157577 > 43 ?chr+:42001-43001 -0.91616594 > 44 ?chr+:43001-44001 -0.95160207 > > Thanks in advance, > regards, > karthick > > > > -- > View this message in context: http://r.789695.n4.nabble.com/to-represent-color-range-on-plot-segment-tp3773392p3773392.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > 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. >-- Jim Holtman Data Munger Guru What is the problem that you are trying to solve?
On 08/28/2011 04:07 AM, karthicklakshman wrote:> Dear R community, > > With an advantage of being "NEW" to R, I would like to post a very basic > query here, > > I am in need of representing gene expression data which ranges from -0.09 to > +4, on plot "segment". please find below the data df, the expression values > are in df[,2]. kindly help me with the code, so that I can represent the > values with a clear color gradient (something like -0.09 to 0 as red > gradient and 0 to +4 as green gradient) > > location value > 15 chr+:14001-15001 0.99749499 > 16 chr+:15001-16001 0.99957360 > 17 chr+:16001-17001 0.99166481 > 18 chr+:17001-18001 0.97384763 > 19 chr+:18001-19001 0.94630009 > 20 chr+:19001-20001 0.90929743 > 21 chr+:20001-21001 0.86320937 > 22 chr+:21001-22001 0.80849640 > 23 chr+:22001-23001 0.74570521 > 24 chr+:23001-24001 0.67546318 > 25 chr+:24001-25001 0.59847214 > 26 chr+:25001-26001 0.51550137 > 27 chr+:26001-27001 0.42737988 > 28 chr+:27001-28001 0.33498815 > 29 chr+:28001-29001 0.23924933 > 30 chr+:29001-30001 0.14112001 > 31 chr+:30001-31001 0.04158066 > 32 chr+:31001-32001 -0.05837414 > 33 chr+:32001-33001 -0.15774569 > 34 chr+:33001-34001 -0.25554110 > 35 chr+:34001-35001 -0.35078323 > 36 chr+:35001-36001 -0.44252044 > 37 chr+:36001-37001 -0.52983614 > 38 chr+:37001-38001 -0.61185789 > 39 chr+:38001-39001 -0.68776616 > 40 chr+:39001-40001 -0.75680250 > 41 chr+:40001-41001 -0.81827711 > 42 chr+:41001-42001 -0.87157577 > 43 chr+:42001-43001 -0.91616594 > 44 chr+:43001-44001 -0.95160207 >Hi karthick, Here's one way to do it: library(plotrix) df[,3]<-NA df[df[,2]<0,3]<-color.scale(df[df[,2]<0,2],1,c(0,1),c(0,1)) df[df[,2]>0,3]<-color.scale(df[df[,2]>0,2],c(1,0),1,c(0,1)) df[,3] will then be a vector of colors that range from red at the minimum value to white at 0 to green at the maximum value. Jim
Dear Jim, Thank you very much for your code. There is no problem with df[df[,2]>0,3]<-color.scale(df[df[,2]>0,2],c(1,0),1,c(0,1)) but the other has an error message if there is a negative value, like> df[df[,2]<0,3]<-color.scale(df[df[,2]<0,2],1,c(1,0),c(1,0))Error in rgb(reds, greens, blues) : color intensity -0.157746, not in [0,1] Kindly update me with your comments. Regards, karthick -- View this message in context: http://r.789695.n4.nabble.com/to-represent-color-range-on-plot-segment-tp3773392p3775990.html Sent from the R help mailing list archive at Nabble.com.