2016-09-14 11 views
0

私は1から10の数字のテーブルを持っています。今、私は、各整数に異なる色でセルを塗りつぶしたいR:与えられた値に基づいてテーブル内の色のセル

My Table

:それはこのようになります。 たとえば、値が1のセルはすべて赤、2は黒、などとなります。 これを達成するための提案はありますか? ありがとうございました。

+0

あなたが探しているものが不明です。あなたはRのテーブルで "色付け"できません。これをhtmlテーブル、Excelテーブル、その他のテーブルフォーマットで行いたいですか? –

+0

私は望む方法でテーブルをプロットするパッケージがないので? –

+0

テーブルを印刷するフォーマットを説明してください。その名前にふさわしい[再現可能な例](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)の作成方法に関するヒントをいくつか紹介します。 –

答えて

0

これを行うパッケージがあります。現在、最も直接的なインターフェイスを持つパッケージは、おそらく機能を使用するcondformatです。残念ながら、私はが必要なので、私のシステムでうまくいっていないrJavaという実例はありません。

pixiedustパッケージ(完全な開示、私は著者です)がこれを達成することができますが、現時点ではそれほど直接的なものではありません。

library(pixiedust) 
library(scales) 
library(magrittr) 

# Make the table (as a matrix, but a data frame would work as well) 
set.seed(pi) 
X <- matrix(sample(1:10, 
        size = 100, 
        replace = TRUE), 
      nrow = 10) 

# Define 10 colors 
background <- hue_pal()(10) %>% 
    setNames(1:10) 

show_col(background) 


# Convert X to a dust object 
X_dust <- dust(X) 

# Apply the background colors 
for (i in sort(unique(as.vector(X)))){ 
    X_dust <- 
    sprinkle(X_dust, 
      rows = X_dust$body$row[X_dust$body$value == i], 
      cols = X_dust$body$col[X_dust$body$value == i], 
      bg = background[i], 
      fixed = TRUE) 
} 

# Print the HTML code 
X_dust %>% 
    sprinkle_print_method("html") 

私は現在、わずか数行のコードでこれを行うためのコードを開発していますが、その機能はまだリリースの準備が整っていません。

+0

すごくありがとう!それはまさに私が探していたものです –

関連する問題