2015-05-26 22 views
5

Tôi đang sử dụng knitr để tạo một số báo cáo. Tôi sử dụng kable để tạo một bảng HTML trong tài liệu. Trong các tiêu đề tôi muốn sử dụng các dấu ngắt dòng (hoặc các thẻ html khác) để tăng cường bảngR knitr Thêm dấu ngắt dòng trong tiêu đề bảng kable()

<!--begin.rcode results='asis' 
s <- rbind(c(1,2,3,4),c(1,2,3,4),c(1,2,3,4)) 
kable(s, col.names=c("Try Newline\nn","Try HTML break<br>%","Past 6 months\nn","\n%")) 
end.rcode--> 

Như bạn thấy, tôi đang thử các tùy chọn khác nhau mà không thành công nhiều. Trong dòng kết quả của tôi (\ n) chỉ được dịch trong một dấu ngắt dòng trong nguồn HTML. Các thẻ
được dịch sang các ký tự đặc biệt HTML.

Mọi đề xuất?

+0

's' là gì? Xin vui lòng gửi một ví dụ tái sản xuất, để "chúng tôi có thể nhìn thấy" vấn đề. – daroczig

+0

Đã thay đổi câu hỏi để bạn có thể thấy sự cố – Wietze314

Trả lời

7

Theo như tôi biết, pipe table syntax không hỗ trợ ngắt dòng trong các tế bào, vì vậy nếu sử dụng pandoc để chuyển đổi markdown sang HTML (đây là những gì RStudio sử dụng), sau đó bạn nên chọn một số chi tiết bảng tính năng phong phú cú pháp, ví dụ multiline hoặc grid. Bạn không chắc chắn làm thế nào để làm điều đó với kable, nhưng pander hỗ trợ những:

> library(pander) 
> colnames(s) <- c("Try Newline\nn","Try HTML break<br>%","Past 6 months\nn","\n%") 
> pander(s, keep.line.breaks = TRUE) 

------------------------------------------------------- 
Try Newline Try HTML break<br>% Past 6 months % 
     n         n   
------------- --------------------- --------------- --- 
     1     2     3   4 

     1     2     3   4 

     1     2     3   4 
------------------------------------------------------- 

Nhưng điều này là không đủ, như ngắt dòng sẽ tự động được gỡ bỏ bởi pandoc, vì vậy bạn cần phải đặt cứng dòng-chia ("một dấu gạch chéo sau bởi một dòng mới ") dựa trên số related docs. Ví dụ. mã sau chuyển đổi thành HTML như mong đợi:

> colnames(s) <- c("Try Newline\\\nn","Try HTML break\\\n%","Past 6 months\\\nn","\\\n%") 
> pander(s, keep.line.breaks = TRUE) 

----------------------------------------------------- 
Try Newline\ Try HTML break\ Past 6 months\ \ 
     n    %    n   % 
-------------- ----------------- ---------------- --- 
     1    2    3   4 

     1    2    3   4 

     1    2    3   4 
----------------------------------------------------- 
+0

Với đanr v1.13 ngắt dòng cứng hoạt động với kable nếu bạn chỉ định đầu ra dưới dạng html: 'knitr :: kable (s, format =" html ")' –

Các vấn đề liên quan