0
我想爲使用xtable
創建的Latex表中的單元格着色。 我看起來像一個數據幀:基於lapply的條件格式化xtable
a <- data.frame(a=c(seq(1:100)),b=c(seq(1:100)),b=c(seq(1:100)))
現在我想單獨着色基於其價值每一個細胞。我創建了下面的函數來實現這一目標:
formatting<-function(x){ifelse(x<50,paste("\\cellcolor{red}{",x,"}"),x)
ifelse(x>=50&x<=80,paste("\\cellcolor{yellow}{",x,"}"),x)
ifelse(x>=80,paste("\\cellcolor{green}{",x,"}"),x)
}
然而,我的功能該數據幀上應用lapply
只執行函數的最後一行(綠色着色)
a <- data.frame(lapply(a, FUN=formatting))
基本上我想值< 50到紅色(\\cellcolor{red}{",x,"}")
黃色50-80(\\cellcolor{yellow}{",x,"}")
之間occure,價值觀和綠色(\\cellcolor{green}{",x,"}")
高於80值什麼是錯的在我的功能?我也注意到,如果我會爲每一個單獨的顏色我碰到一個警告提示創建一個函數:
red<-function(x){ifelse(x<50,paste("\\cellcolor{red}{",x,"}"),x)}
yellow<-function(x){ifelse(x>=50&x<=80,paste("\\cellcolor{yellow}{",x,"}"),x)}
green<-function(x){ifelse(x>=80,paste("\\cellcolor{green}{",x,"}"),x)}
a <- data.frame(lapply(a, FUN=red))
a <- data.frame(lapply(a, FUN=yellow))
a <- data.frame(lapply(a, FUN=green))
Warning message:
1: In Ops.factor(x, 50) : >= not meaningful for factors
誰能幫助我?
我打了一下下面的代碼:
resistant<-function(x){ifelse((x>=0&x<50),paste("\\cellcolor{red}{",x,"}"),x)}
intermediate<-function(x){ifelse((x>=50&x<80),paste("\\cellcolor{yellow}{",x,"}"),x)}
susceptible<-function(x){ifelse((x>=80&x<=100),paste("\\cellcolor{green}{",x,"}"),x)}
a<-as.data.frame(apply(a,2, FUN=resistant))
a<-as.data.frame(apply(a,2, FUN=intermediate))
a<-as.data.frame(apply(a,2, FUN=susceptible))
然而,似乎只有最後一行沒有被正確執行。爲什麼?
嗨,需要一些時間和閱讀在標記之前標記摘錄。 [tag:dataframes]是熊貓,而你需要[tag:data.frame]在這裏。下次再小心點。看到這篇文章。 [警告\ [r \]用戶添加\ [dataframes \]標記而不是\ [data.frame \]標記](http://meta.stackoverflow.com/q/318933) –