แค่อยากจะอัปเดตสิ่งนี้กับสิ่งที่ฉันตัดสินใจทำ ตอนนี้ฉันใช้hwriter
แพคเกจเพื่อพิมพ์ตารางและใช้คุณสมบัติrow.*
และcol.*
เพื่อใส่คลาส CSS ให้กับองค์ประกอบต่างๆ จากนั้นฉันเขียน CSS ที่กำหนดเองเพื่อให้แสดงผลตามที่ฉันต้องการ ดังนั้นนี่คือตัวอย่างในกรณีที่ใครก็ตามกำลังเผชิญกับสิ่งที่คล้ายกัน
ขั้นแรกสร้างไฟล์ที่จะทำknitting
และเปลี่ยน Markdown เป็น HTML:
FILE: file_knit.r
#!/usr/bin/env Rscript
library(knitr)
library(markdown)
knit("file.Rmd")
markdownToHTML("file.md","file.html",stylesheet="~/custom.css")
จากนั้นสร้างไฟล์ Markdown จริง:
FILE: file.Rmd
Report of Fruit vs. Animal Choices
==================================
This is a report of fruit vs. animal choices.
```{r echo=FALSE,results='asis'}
library(hwriter)
set.seed(9850104)
my.df <- data.frame(Var1=sample(x=c("Apple","Orange","Banana"),size=40,replace=TRUE),
Var2=sample(x=c("Dog","Cat","Bunny"),size=40,replace=TRUE))
tbl1 <- table(my.df$Var1,my.df$Var2)
tbl1 <- cbind(tbl1,rowSums(tbl1))
tbl1 <- rbind(tbl1,colSums(tbl1))
colnames(tbl1)[4] <- "TOTAL"
rownames(tbl1)[4] <- "TOTAL"
# Because I used results='asis' for this chunk, I can just use cat() and hwrite() to
# write out the table in HTML. Using hwrite()'s row.* function, I can assign classes
# to the various table elements.
cat(hwrite(tbl1,
border=NA,
table.class="t1",
row.class=list(c("header col_first","header col","header col","header col", "header col_last"),
c("col_first","col","col","col","col_last"),
c("col_first","col","col","col","col_last"),
c("col_first","col","col","col","col_last"),
c("footer col_first","footer col","footer col","footer col","footer col_last"))))
```
สุดท้ายเพียงสร้างไฟล์ CSS ที่กำหนดเอง
FILE: custom.css
body {
font-family: sans-serif;
background-color: white;
font-size: 12px;
margin: 20px;
}
h1 {font-size:1.5em;}
table {
border: solid;
border-color: black;
border-width: 2px;
border-collapse: collapse;
margin-bottom: 20px;
text-align: center;
padding: 0px;
}
.t1 .header {
color: white;
background-color: black;
border-bottom: solid;
border-color: black;
border-width: 2px;
font-weight: bold;
}
.t1 .footer {
border-top: solid;
border-color: black;
border-width: 2px;
}
.t1 .col_first {
border-right: solid;
border-color: black;
border-width: 2px;
text-align: left;
font-weight: bold;
width: 75px;
}
.t1 .col {
width: 50px;
}
.t1 .col_last {
width: 50px;
border-left: solid;
border-color: black;
border-width: 2px;
}
การดำเนินการ./file_knit.r
ทำให้ฉันได้ file.html ซึ่งมีลักษณะดังนี้:
ดังนั้นหวังว่านี่อาจเป็นประโยชน์สำหรับผู้อื่นที่ต้องการการจัดรูปแบบเพิ่มเติมเล็กน้อยในเอาต์พุต Markdown!
print(xtable(data), type = "html")
.