如何使用xtable和sweave在表格中打印上标?

时间:2014-10-23 10:14:04

标签: r latex sweave xtable

所以我的问题陈述如下: 我使用以下代码在我的Sweave文档(.Rnw扩展名)中定义了一个数据框:

<<label=table2_1,echo=FALSE>>=
    table2_1_rows <- c('Students with compulsory Evaluations',
            'Teachers with compulsory evaluations1',
            'Teachers without Evaluation2',
            'Students without compulsory evaluations3'
            )
    table2_1_data <- c(1,2,3,4)
    table2_1final <- data.frame(table2_1_rows,table2_1_data)
@

<<label=tab1,echo=FALSE,results=tex>>=

    print(xtable(table2_1final,caption= ' ',align="|c|c|c|c|c|c|"),include.rownames=FALSE)
@

如何使xtable打印数字1,2,3(在评价一词后面)作为上标?

1 个答案:

答案 0 :(得分:7)

实际的上标非常简单。与\\textsuperscript{1}一起sanitize.text.function = identity会让你到达那里。

我必须对你的例子进行一些其他修改。对齐的列太多,变量名中的下划线会导致编译tex的问题。

<<label=table2_1,echo=FALSE>>=
require(xtable)
    table2_1_rows <- c('Students with compulsory Evaluations',
            'Teachers with compulsory evaluations\\textsuperscript{1}',
            'Teachers without Evaluation\\textsuperscript{2}',
            'Students without compulsory evaluations\\textsuperscript{3}'
            )
    table2_1_data <- c(1,2,3,4)
    table2_1final <- data.frame(table2_1_rows,table2_1_data)
    names(table2_1final) <- c("rows", "data")
@

<<label=tab1,echo=FALSE,results=tex>>=

    print(xtable(table2_1final,caption= ' ',align="|c|c|c|"),include.rownames=FALSE, 
          sanitize.text.function = identity)
@