这是我的Rsweave可复制示例:
\documentclass{article}
\usepackage[utf8]{inputenc}
\DeclareUnicodeCharacter{B5}{$\alpha$}
\DeclareUnicodeCharacter{B5}{$\tau$}
\DeclareUnicodeCharacter{B5}{$\sigma$}
\DeclareUnicodeCharacter{B5}{$\beta$}
\DeclareUnicodeCharacter{B5}{$\gamma$}
\DeclareUnicodeCharacter{B5}{$\mu$}
\DeclareUnicodeCharacter{B5}{$\Delta$}
\begin{document}
This is a table
<<summarymatrix,echo=FALSE>>=
library(knitr)
library(kableExtra)
alpha='\u03b1'; tau='\u03c4'; sigma='\u03c3'; beta='\U03B2'; gamma='\u03b3'; mu='\u03BC'; Delta='\u0394'
dt <- mtcars[1:5, 1:3]
colnames(dt)=c('Sample1','Sample2','Sample3')
rownames(dt)=c(paste0(mu),paste0(tau),paste0(sigma),paste0(beta),paste0(Delta))
dt
@
\end{document}
有两个问题:
首先,将Delta行名放在输出表中的错误位置。应该在第5行。并且第一个行名应该是mu。
第二,为什么我不能将重复的符号作为行?例如,如何将第二行和第三行的行名设置为Beta?
我该如何解决?
答案 0 :(得分:1)
您的序言搞砸了。您需要inputenc软件包来获取\DeclareUnicodeCharacter
,并且您不应该将B5声明为7种不同的东西。
这是您的文档,其中的内容已解决:
\documentclass{article}
\usepackage[utf8]{inputenc}
\DeclareUnicodeCharacter{3B1}{$\alpha$}
\DeclareUnicodeCharacter{3C4}{$\tau$}
\DeclareUnicodeCharacter{3C3}{$\sigma$}
\DeclareUnicodeCharacter{3B2}{$\beta$}
\DeclareUnicodeCharacter{3B3}{$\gamma$}
\DeclareUnicodeCharacter{3BC}{$\mu$}
\DeclareUnicodeCharacter{394}{$\Delta$}
\begin{document}
\SweaveOpts{concordance=TRUE}
This is a table
<<summarymatrix,echo=FALSE>>=
library(knitr)
library(kableExtra)
alpha='\u03b1'; tau='\u03c4'; sigma='\u03c3'; beta='\U03B2'; gamma='\u03b3'; mu='\u03BC'; Delta='\u0394'
dt <- mtcars[1:5, 1:3]
colnames(dt)=c('Sample1','Sample2','Sample3')
rownames(dt)=c(paste0(mu),paste0(tau),paste0(sigma),paste0(beta),paste0(Delta))
dt
@
\end{document}
这是输出:
对我来说,这看起来差不多(最后一行的对齐方式除外)。
之所以不能重复行名,是因为它们用于标识行。如果您有两行名为beta的行,dt["beta", ]
会给出什么?如果要重复值,只需添加一个额外的列即可。