gpt4 book ai didi

r - 使用 pander 酿造报告时如何删除行名?

转载 作者:行者123 更新时间:2023-12-04 11:02:04 26 4
gpt4 key购买 nike

在对 knitrpander>、Rmarkdownpander报告

我现在有两个文件:

包含报告结构的“ReportIntro.brew”

# My Report Title 
## Sample Information
#### <%=set.alignment('left') ; as.character(info[1,1])%>
<%=set.alignment('left') ; info[2:8,1:2]%>

'Report.R' 创建报告所需的 data.frame 'info'

library(pander) ; library(xlsx)
info=read.xlsx(file="info.xlsx", sheetName="info", header=FALSE)
Pandoc.brew(file="ReportIntro.brew", output=tempfile(), convert="docx")

这给了我我的第一个 Word 文档,其中包含一个表格。但是,它包含不需要的行名和列名。我发现了一篇关于 generating tables with pander and knitr 的博客, 建议设置

row.names(info) <- NULL

但这没有任何效果。

如果我尝试使用

print(info[2:8,1:2], include.rownames=FALSE)

print(xtable(info[2:8,1:2]), type="html", include.rownames=FALSE)

正如另一篇关于 removing row names using xtable 的帖子中所建议的那样,表格根本不会出现在 Word 文档中。

那么:如何在不显示行名的情况下获取表格?

(这是我的第一篇文章,所以我希望它符合要求!)

编辑: 这是 dput(info) 的结果

> dput(info)
structure(list(X1 = c("School Information", "Name", "Type", "DfE number",
"URN", "DfE link", "Dashboard Report", "Ofsted link", "Test Information",
"Test Date", "Comments", "Analysis comments", "Sample Size",
"Year group", "All", "11", "11"), X2 = c(NA, NA, "Primary, Academy, Prep, Middle etc",
NA, "Enter school URN here", "http://www.education.gov.uk/",
"http://dashboard.ofsted.gov.uk/", "http://www.ofsted.gov.uk",
NA, NA, NA, NA, NA, "Set", "All", "top", "middle"), X3 = c(NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "M", "408", "165",
"243"), X4 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, "F", "402", "145", "257"), X5 = c(NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, "Total", "810", "310", "500")), .Names = c("X1",
"X2", "X3", "X4", "X5"), row.names = c(NA, 17L), class = "data.frame")

最佳答案

我是 pander 的作者,感谢您尝试一下,@Jerubaal。如果您还可以发布 info 或者更确切地说是 dput(info) 的结果,那就太好了,这样我就可以重现您的步骤,但据我现在所见解决方法是首先将该子集 info 保存到一个新变量中,然后在一个 block 中返回该新对象。

更多细节:pander 抑制 row.names 如果这些是微不足道的,例如从 1 到行数的序列。如果您返回 data.frame 的子集,您将返回一个带有不符合此基本计划的 row.names 的对象。但是如果你创建一个新的 data.frame,自动的 row.names 将从 1 开始到 nrow

快速演示(请注意 pander 无论如何都会在每个 block 上自动运行):

> library(pander)
> pander(iris[2:3, 1:3])

---------------------------------------------------
&nbsp; Sepal.Length Sepal.Width Petal.Length
------- -------------- ------------- --------------
**2** 4.9 3 1.4

**3** 4.7 3.2 1.3
---------------------------------------------------

> x <- iris[2:3, 1:3]
> pander(x)

---------------------------------------------------
&nbsp; Sepal.Length Sepal.Width Petal.Length
------- -------------- ------------- --------------
**2** 4.9 3 1.4

**3** 4.7 3.2 1.3
---------------------------------------------------

> row.names(x) <- NULL
> pander(x)

-------------------------------------------
Sepal.Length Sepal.Width Petal.Length
-------------- ------------- --------------
4.9 3 1.4

4.7 3.2 1.3
-------------------------------------------

更新:使用提供的 info 数据集进行演示

> x <- info[2:8,1:2]
> pander(x)

--------------------------------------------------------
&nbsp; X1 X2
------- ---------------- -------------------------------
**2** Name

**3** Type Primary, Academy, Prep,
Middle etc

**4** DfE number

**5** URN Enter school URN here

**6** DfE link http://www.education.gov.uk/

**7** Dashboard Report http://dashboard.ofsted.gov.uk/

**8** Ofsted link http://www.ofsted.gov.uk
--------------------------------------------------------

> row.names(x) <- NULL
> pander(x)

------------------------------------------------
X1 X2
---------------- -------------------------------
Name

Type Primary, Academy, Prep,
Middle etc

DfE number

URN Enter school URN here

DfE link http://www.education.gov.uk/

Dashboard Report http://dashboard.ofsted.gov.uk/

Ofsted link http://www.ofsted.gov.uk
------------------------------------------------

关于r - 使用 pander 酿造报告时如何删除行名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21018646/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com