2017-02-21 10 views
0

私は "fdr"と呼ばれるdata.frameを持っています。data.frameでセルを値で色付けする方法は?

  pi  pd  aa  ef 
gene1 0.78 0.04 0.89 0.01 
gene2 0.06 0.95 0.02 0.03 
gene3 0.98 0.07 0.03 0.23 

ここでは、0.05より小さいすべてのセルを赤で表示したいと考えています。 どうすればいいですか?

+5

あなたはこれをかなり多く拡張する必要があります。データフレームをHTMLテーブルに表示することや、インターフェイスのようなスプレッドシートをサポートする他の特定のフォーマットにエクスポートすることを話している場合を除き、「データフレーム内のセルの色づけ」はRの無意味な概念です。そのような場合は、データをどのように表示するか、使用しているパッケージなどを正確に説明する必要があります。 – joran

+0

grid.table関数とheatmap.2関数を使用します。 –

+0

[OK]を、以下のオプションに加えて、[this](http://stackoverflow.com/q/18663159/324364)の質問、おそらく?または[this](http://stackoverflow.com/q/23819209/324364)、[this](http://stackoverflow.com/q/18414001/324364)? – joran

答えて

1

今後の質問については、dput(fdr)の結果を印刷してください。これにより、他の人が簡単に答えることができます。

formattable packageの使用を検討してください。これは完全にあなたが(細胞を着色するという点で)欲しいものを達成しない
enter image description here

formattable(df, list(
    pi = formatter("span", style = x ~ ifelse(x < 0.05, style(color = "red", font.weight = "bold"), NA)), 
    pd = formatter("span", style = x ~ ifelse(x < 0.05, style(color = "red", font.weight = "bold"), NA)), 
    aa = formatter("span", style = x ~ ifelse(x < 0.05, style(color = "red", font.weight = "bold"), NA)), 
    ef = formatter("span", style = x ~ ifelse(x < 0.05, style(color = "red", font.weight = "bold"), NA)) 
)) 

結果は次のようになります。しかし、それはあなたが特定のケース(< 0.05)を強調しようとしていたようです、そして、これは間違いなくそれをキャプチャします。

+0

ありがとうございました!しかし、formatC(c(0.42,0.43,0.05,0,0,0,0,56,0.11,0.03,0.55、: (list)オブジェクトは整数に変更できません)にエラーがあります –

関連する問題