COLOR(red){SIZE(25){色名に関する関数}} r-help ML の Gabor Grothendieck の記事より(Sun 29 Jun 2003) COLOR(red){colors.hex} と COLOR(red){colors.name} は色名を16進コード(またその逆)へ変換する。各色名はユニークな16進コードを持つが、16進コードは一つ以上の色名を持つ可能性があることを注意。 colors.hex <- function( x=colors() ) { color.hex <- function(x) do.call( "rgb", as.list(col2rgb(x)/255) ) sapply( x, color.hex ) } colors.name <- function( x ) { color.name <- function( x ) colors()[ colors.hex() == x ] lapply( x, color.name ) } 例 colors.hex( "red" ) colors.hex( colors()[1:5] ) colors.name( "#FF0000" ) colors.name( rainbow(3) ) colors.name( rainbow(7) ) # 最初の要素だけが名前を持つ LL はすべての色名を同じ16進コードを持つ同値類に分割する。 LL2 は同様であるが、一つ以上の色名を持つ同値類だけを持つ。 LL <- by( colors(), colors.hex(), as.vector ) LL2 <- LL[ lapply( LL, length ) > 1 ]