我想知道如何在R中设置矩阵的行名,包括希腊字母表达式。我使用了“expression”,但好像没起作用。以下是我的代码。
b.summary = matrix(0, 8, 6)
colnames(b.summary)= c("Min.", "1st Qu.", "Median", "Mean","3rd Qu", "Max." )
rownames(b.summary)= c(expression(paste(tau, "=1", sep="")),expression(paste(sigma^2, "=1", sep="")), expression(paste(tau, "=5",sep="")), expression(paste(sigma^2, "=0.2",sep="")), expression(paste(tau, "=16", sep="")), expression(paste(sigma^2, "=0.0625",sep="")), expression(paste(tau, "1/2.25", sep="")),expression( paste(sigma^2, "=2.25", sep="")) )
当我键入 b.summary 时,显示的行名如下:
paste(tau, "=1", sep = "")
使用希腊字母的原因是我正在使用knitr创建动态文档。我想直接显示此矩阵的结果,而不是手动创建一个表格并使用\Sexpr{}表达式键入矩阵的所有元素。在knitr中的完整代码块如下:
而不是LaTeX表达式。
<<coverage.b.summary, eval=TRUE, echo=FALSE>>=
b.summary = matrix(runif(48), 8, 6)
colnames(b.summary)= c("Min.", "1st Qu.", "Median", "Mean","3rd Qu", "Max." )
rownames(b.summary)= labels(expression(paste(tau, "=1", sep="")),expression(paste(sigma^2, "=1", sep="")), expression(paste(tau, "=5",sep="")), expression(paste(sigma^2, "=0.2",sep="")), expression(paste(tau, "=16", sep="")), expression(paste(sigma^2, "=0.0625",sep="")), expression(paste(tau, "=1/2.25", sep="")),expression( paste(sigma^2, "=2.25", sep="")) )
b.summary
@
Thank you advance for your help!
paste
(而不是expression
)来构建行名本身,你应该使用@nrussell提供的提示来生成希腊字母。 - IRTFM