Hi,
attriColorValue works with one value. I would like to get the color of a
list with lappy but in input I have two variables (the value and the list).
attriColorValue <- function(Value, list, colors=c(a,b,c, d,e),feet){
list <- round(list, digits = 0)
Max <- max(list, na.rm=TRUE)
Min <- min(list, na.rm=TRUE)
my.colors <- colorRampPalette(colors)
#generates Max-Min colors from the color ramp
color.df<-data.frame(COLOR_VALUE=seq(Min,Max,feet),
color.name=my.colors(length(seq(Min,Max,feet))))
colorRef <- color.df[which(color.df[,1]==Value),2]
return(colorRef)
}
list <-
c(7607.2149,36.0673,26.5613,-21.094,535.1462,8460.8617,3112.3839,1810.5521,-2783.7832,-1283.5496,879.4978,-307.8481,133.6729,51.6518,-212.3436,-118.6624,912.8616,16.7501,465.6139,486.3803,1051.6673,-1529.426,198.9787,-265.013,74.0492,-52.0192,-97.655,-5963.4183,-2118.4033,5701.5644,1987.7252,1638.274,1576.775,1520.7626,1039.4264,905.7974,-966.3739,365.2626,364.8378,258.3969,-323.999,-394.7463)
works
as.character(attriColorValue(123,list,
colors=c("blue","white","red") ,
feet=1))
not working??
lapply(list, function(x) attriColorValue(x,df$exprsMeanDiff ,colors, feet))
Thanks
Karim
[[alternative HTML version deleted]]
Hi Karim,
I'm not sure that this is what is causing the error, but your
"list" is
actually a vector. The following runs, but the function is obviously not
working:
sapply(list,
function(x)
as.character(attriColorValue(x,list,colors=c("blue","white","red"),feet=1)))
There is probably a better name for your vector than "list".
Jim
On Fri, Aug 28, 2015 at 8:16 PM, Karim Mezhoud <kmezhoud at gmail.com>
wrote:
> Hi,
> attriColorValue works with one value. I would like to get the color of a
> list with lappy but in input I have two variables (the value and the list).
>
>
> attriColorValue <- function(Value, list, colors=c(a,b,c, d,e),feet){
>
> list <- round(list, digits = 0)
> Max <- max(list, na.rm=TRUE)
> Min <- min(list, na.rm=TRUE)
>
> my.colors <- colorRampPalette(colors)
> #generates Max-Min colors from the color ramp
> color.df<-data.frame(COLOR_VALUE=seq(Min,Max,feet),
> color.name=my.colors(length(seq(Min,Max,feet))))
>
> colorRef <- color.df[which(color.df[,1]==Value),2]
> return(colorRef)
> }
>
> list <-
>
>
c(7607.2149,36.0673,26.5613,-21.094,535.1462,8460.8617,3112.3839,1810.5521,-2783.7832,-1283.5496,879.4978,-307.8481,133.6729,51.6518,-212.3436,-118.6624,912.8616,16.7501,465.6139,486.3803,1051.6673,-1529.426,198.9787,-265.013,74.0492,-52.0192,-97.655,-5963.4183,-2118.4033,5701.5644,1987.7252,1638.274,1576.775,1520.7626,1039.4264,905.7974,-966.3739,365.2626,364.8378,258.3969,-323.999,-394.7463)
>
> works
> as.character(attriColorValue(123,list,
colors=c("blue","white","red") ,
> feet=1))
>
> not working??
> lapply(list, function(x) attriColorValue(x,df$exprsMeanDiff ,colors, feet))
>
> Thanks
> Karim
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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.
>
[[alternative HTML version deleted]]
Hi, Thank you for comments. Yes it is a vector an not a list ;). I need to round also the input Value (Value <- round(Value, digits=0). If not Matching is not possible. The vector is a real number and the color.df are Integer. Thanks for sapply is better than lapply in my case. Karim On Fri, Aug 28, 2015 at 11:35 AM, Jim Lemon <drjimlemon at gmail.com> wrote:> Hi Karim, > I'm not sure that this is what is causing the error, but your "list" is > actually a vector. The following runs, but the function is obviously not > working: > > sapply(list, > function(x) > as.character(attriColorValue(x,list,colors=c("blue","white","red"),feet=1))) > > There is probably a better name for your vector than "list". > > Jim > > > On Fri, Aug 28, 2015 at 8:16 PM, Karim Mezhoud <kmezhoud at gmail.com> wrote: > >> Hi, >> attriColorValue works with one value. I would like to get the color of a >> list with lappy but in input I have two variables (the value and the >> list). >> >> >> attriColorValue <- function(Value, list, colors=c(a,b,c, d,e),feet){ >> >> list <- round(list, digits = 0) >> Max <- max(list, na.rm=TRUE) >> Min <- min(list, na.rm=TRUE) >> >> my.colors <- colorRampPalette(colors) >> #generates Max-Min colors from the color ramp >> color.df<-data.frame(COLOR_VALUE=seq(Min,Max,feet), >> color.name=my.colors(length(seq(Min,Max,feet)))) >> >> colorRef <- color.df[which(color.df[,1]==Value),2] >> return(colorRef) >> } >> >> list <- >> >> c(7607.2149,36.0673,26.5613,-21.094,535.1462,8460.8617,3112.3839,1810.5521,-2783.7832,-1283.5496,879.4978,-307.8481,133.6729,51.6518,-212.3436,-118.6624,912.8616,16.7501,465.6139,486.3803,1051.6673,-1529.426,198.9787,-265.013,74.0492,-52.0192,-97.655,-5963.4183,-2118.4033,5701.5644,1987.7252,1638.274,1576.775,1520.7626,1039.4264,905.7974,-966.3739,365.2626,364.8378,258.3969,-323.999,-394.7463) >> >> works >> as.character(attriColorValue(123,list, colors=c("blue","white","red") , >> feet=1)) >> >> not working?? >> lapply(list, function(x) attriColorValue(x,df$exprsMeanDiff ,colors, >> feet)) >> >> Thanks >> Karim >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help at 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. >> > >[[alternative HTML version deleted]]