2015-07-20 42 views
2

我试图根据与文本值列中的值(“类型”)排颜色data.frame

testdf<-data.frame(Type=c("NON_BRAND", "BRAND", "BRAND", "NON_BRAND"),CA=c(500,890,780,240), Campaign=c("A", "B", "A", "B")) 

我可以突出data.frame(testdf)的行使用热图无法达到此目的,因为我需要根据“类型”列中的单词对整行进行着色。 (例如,NON_BRAND行的颜色为蓝色,BRAND行的颜色为黄色)。

我的输出是使用R Markdown的pdf或html文件。

有谁知道是否有这种可能性为data.frame着色?

任何帮助将不胜感激。

回答

1

lazyWeave在当前的CRAN版本中有点笨重,但我正在研究它,并希望在一个月左右的时间内进行更新,以便处理一些奇怪的问题。

我觉得xtable也可以做到这一点,虽然我不记得具体细节。如果xtable会这样做,我建议大部分时间使用。这比lazyWeave更清洁。

--- 
title: "Untitled" 
output: html_document 
--- 

```{r} 
library(lazyWeave) 
options(lazyReportFormat="html") 
testdf<-data.frame(Type=c("NON_BRAND", "BRAND", "BRAND", "NON_BRAND"), 
        CA=c(500,890,780,240), 
        Campaign=c("A", "B", "A", "B")) 
``` 

```{r, results='asis'} 
lazy.matrix(testdf, 
      rcol= 1:nrow(testdf), 
      usecol = ifelse(testdf$Type == "NON_BRAND", "blue", "yellow")) 
``` 
+0

'install.packages(“lazyWeave”)'返回一个错误。 – SabDeM

+1

看起来像孤儿。我必须更加认真地完成这些更新。它在GitHub上。尝试使用'devtools :: install_github(“nutterb/lazyWeave”)'。抱歉给你带来不便。 – Benjamin