Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 在带有副标题的表中对数据帧变量进行分组_R_Dataframe - Fatal编程技术网

R 在带有副标题的表中对数据帧变量进行分组

R 在带有副标题的表中对数据帧变量进行分组,r,dataframe,R,Dataframe,我的目标是生成一个具有数据帧输出的出版物质量表。该表应包含两级列标题。因此,变量应分组,并具有共同的标题上限。假设数据帧看起来像这样: df<-data.frame(Names=c(w,x,y,z), A_one=c(1,2,3,4), A_two=c(2,3,4,5), B_one=c(3,4,5,6), B_two=c(4,5,6,7)) 您知道任何简单的方法吗?您可以使用tableHTML创建这样的表 你可以做: library(tableHTML) names(df) <-

我的目标是生成一个具有数据帧输出的出版物质量表。该表应包含两级列标题。因此,变量应分组,并具有共同的标题上限。假设数据帧看起来像这样:

df<-data.frame(Names=c(w,x,y,z), A_one=c(1,2,3,4), A_two=c(2,3,4,5), B_one=c(3,4,5,6), B_two=c(4,5,6,7))
您知道任何简单的方法吗?

您可以使用tableHTML创建这样的表

你可以做:

library(tableHTML)
names(df) <- c(' ', 'one', 'two', 'one', 'two')
tableHTML(df, 
          rownames = FALSE,
          second_header = list(c(1, 2, 2), c('Names', 'A', 'B')),
          widths = rep(50, 5),
          theme = 'scientific')

代码也可以与write_tableHTML一起导出。

如果要为演示文稿或论文生成表格,请查看xtable包。关于如何使用xtable执行此操作,有几篇文章。是否希望输出为html表格?我需要用于纸质出版物的表格。我不使用LaTex。所以您能使用html将表格嵌入到您的纸质出版物中吗?你需要告诉我们你想要的输出是什么。我不确定,但我想我可以嵌入一个html表。好主意,谢谢!我只有两个反对意见:1一旦添加第二个标题,我应该更改第一个标题的名称。我怎么做?我以前不能更改它们,因为否则数据帧变量将具有相同的名称1,2,1,2,这是不可能的。2我想我可以有一个html表,但是有没有其他可能的输出/格式使用这个或其他包?我用R标记写初稿,用MS Word写论文。正如你在上面的回答中看到的,我先更改了第一个标题,我有重复的列名。你可以做到。如果您使用Rmarkdown,您可以正常地以pdf格式导出它。tableHTML可以很好地处理这个问题。您也可以在word中使用html表。如果你用谷歌搜索,你可以找到许多相关的帖子。如果你想在论文中创建一个表格,html是最好的选择,否则你需要在excel中手动创建表格并复制粘贴。谢谢!碰巧我发现这个包是htmlTable的。tableHTML有什么不同吗?有什么理由使用一种而不是另一种吗?我最终开发了tableHTML,因为htmltable不允许我以我想要的方式格式化表格:希望这是一个足够好的理由。
library(tableHTML)
names(df) <- c(' ', 'one', 'two', 'one', 'two')
tableHTML(df, 
          rownames = FALSE,
          second_header = list(c(1, 2, 2), c('Names', 'A', 'B')),
          widths = rep(50, 5),
          theme = 'scientific')
mytable <- tableHTML(df, 
          rownames = FALSE,
          second_header = list(c(1, 2, 2), c('Names', 'A', 'B')),
          widths = rep(50, 5),
          theme = 'scientific')

print(mytable, viewer = FALSE)