如何将方括号放在R中矩阵特定行中的元素上

如何将方括号放在R中矩阵特定行中的元素上,r,matrix,latex,R,Matrix,Latex,我想使用xtable将我的输出从R导出到latex。此外,我希望每个表都有一个估计值及其标准误差。如何获得R中方括号中矩阵特定行的元素 将函数xtable应用于结果数据帧的预期输出应如下所示: \begin{tabular}{lcccc} \hline & Hi & MV & Zi & Pi \\ \hline Mean & 0.57 & 0.50 & 0.54 & 0.42 \\ & [0.01] &am

我想使用xtable将我的输出从R导出到latex。此外,我希望每个表都有一个估计值及其标准误差。如何获得R中方括号中矩阵特定行的元素

将函数xtable应用于结果数据帧的预期输出应如下所示:

 \begin{tabular}{lcccc}
 \hline
 & Hi & MV & Zi & Pi \\ 
 \hline
 Mean & 0.57 & 0.50 & 0.54 & 0.42  \\ 
 & [0.01] & [0.01] & [0.01] & [0.05]  \\ 
 Median & 0.57 & 0.50 & 0.54 & 0.42  \\ 
 & [0.01] & [0.01] & [0.01] & [0.05]  \\ 
 MSE & 0.08 & 0.02 & 0.05 & 0.16  \\ 
 & [0.01] & [0.00] & [0.01] &[ 0.04]  \\ 
\hline
\end{tabular}
谢谢。

你可以试试这个

x<-matrix(1:12,nrow=4)

bracket <- function(x, i, j){
  x[i,j] <- sprintf("[%s]", x[i,j])
  x
}

# x <- bracket(x, 2, 3) # test

# every second row
ind = which(row(x) %% 2 == 1, arr.ind = TRUE)
x <- bracket(x, ind[,1], ind[,2])

print(xtable(x), sanitize.text.function = I)

x我发现这对我的情况很有效,但也许有人能想出一个更有效的方法。假设我想把方括号放在奇数行中的元素上,那么这个微型程序可以工作:

 x<-matrix(1:12,4,byrow=TRUE)
y<-matrix(NA,ncol=ncol(x),nrow=nrow(x))
Y<-t(sapply(1:nrow(x),function(i){
if(i%%2!=0){y[i,]<-x[i,]
  }else{
  y[i,]<-paste0("[",x[i,],"]")
  }
 }))

print(xtable(Y))

x请显示您的预期输出。理想情况下,您可以根据需要对LaTeX表进行屏幕抓取。您可能可以使用gsub或其他方式操纵字符串,但一个可复制的示例将大有帮助。我已经用我想要获得的LaTeX代码示例重新表述了这个问题。我希望这能让你了解更多