2017-12-19 2 views
1

Erstens, das Paket kableExtra produziert in der Tat hervorragende Tabelle. Ich habe nur eine zusätzliche Anfrage:kableExtra Wie verwende ich cell_spec aus einem benutzerdefinierten Bereich?

Wenn Sie dieses Beispiel ausführen (aus dem Handbuch)

iris[1:10, ] %>% select(-Species) %>% 
    mutate_if(is.numeric, function(x) { 
      cell_spec(x, "latex", bold = T, color = spec_color(x, end = 0.9), 
       font_size = spec_font_size(x)) 
     }) %>% 
    kable("latex", escape = F, booktabs = T, linesep = "", align = "c") 

cell_spec

Die Zellen werden in jeder Spalte formatiert. (1) Wie werden sie an den gesamten Tisch angepasst? (2) Oder zu einer benutzerdefinierten Skala? Ich habe bemerkt, dass sowohl kableExtra::spec_color als auch kableExtra::cell_spec die scales::rescale Funktion verwenden, die ein from Argument nimmt, aber es wird nicht in den Funktionen verwendet.

Darunter Code des reproduzierbaren. Rnw Skript.

\documentclass{article} 
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor} 
\usepackage{booktabs} 
\usepackage{float} 
\usepackage{colortbl} 

\begin{document} 
<<tab10, echo=FALSE, results="as.is">>= 
require(knitr) 
require(kableExtra) 
require(tidyverse) 
@ 
<<tab1, echo=FALSE, results="as.is">>= 
require(knitr) 
require(kableExtra) 
require(tidyverse) 
iris[1:10, ] %>% select(-Species) %>% 
    mutate_if(is.numeric, function(x) { 
      cell_spec(x, "latex", bold = T, color = spec_color(x, end = 0.9), 
       font_size = spec_font_size(x)) 
     }) %>% 
    kable("latex", escape = F, booktabs = T, linesep = "", align = "c") 
@ 


\end{document} 
+0

ich das 'from' Argument von rescale auf der Optionsliste hinzufügen können. Es klingt wie eine großartige Idee! Vielen Dank! – Hao

Antwort

1

Okay, mit der neuesten Entwickler ver Sie scale_from in spec_color verwenden können, spec_font_size & spec_angle.

library(kableExtra) 
library(dplyr) 
library(knitr) 
iris[1:10, ] %>% 
    select(-Species) %>% 
    mutate_if(is.numeric, function(x) { 
    cell_spec(x, "latex", bold = T, 
       color = spec_color(x, end = 0.9, scale_from = range(unlist(iris[1:10, ]))), 
       font_size = spec_font_size(x, scale_from = range(unlist(iris[1:10, ])))) 
    }) %>% 
    kable("latex", escape = F, booktabs = T, linesep = "", align = "c") 

enter image description here

+0

Das ist großartig, danke – Cedric

0

Es tut uns fragen, eine Verwendung der eine Syntax

Auswertung Fehler geben: nicht verwendete Argument (scale_from = range (fehlenden oder (Iris [1:10]))). Anrufe: ... as.data.frame -> mutieren -> mutate.tbl_df -> mutate_impl -> .Call

Ausführung gestoppt

+0

Diese Funktion ist noch nicht auf CRAN. Sollte in ein paar Tagen sein. – Hao

Verwandte Themen