将\ mathcal添加到数据框

问题描述 投票:0回答:1

我正在使用papaja包使用R和Rmarkdown制作可重复的手稿。我想为我的表做的一件事是使用mathmode的符号。例如,我正在尝试创建一列变量,这两个变量是两个z \ mathcalc {M} symbols (e.g., $ \ mathcal {M} _1 - \ mathcal {M} _2 $`的比较,在Rmarkdown中看起来像这样:

enter image description here

但是,当我尝试将这些符号用作data.frame中的单元格时,R会发出警告:

table1 <- c("$\mathcal{M}_1 - \mathcal{M}_3$",
            "$\mathcal{M}_1 - \mathcal{M}_3$",
            "$\mathcal{M}_1 - \mathcal{M}_4$",
            "$\mathcal{M}_1 - \mathcal{M}_5$",
            "$\mathcal{M}_2 - \mathcal{M}_3$",
            "$\mathcal{M}_2 - \mathcal{M}_4$",
            "$\mathcal{M}_2 - \mathcal{M}_5$",
            "$\mathcal{M}_3 - \mathcal{M}_4$",
            "$\mathcal{M}_3 - \mathcal{M}_5$",
            "$\mathcal{M}_4 - \mathcal{M}_5$")
table2 <- c(49.273540, 198.383423, 198.956909, 198.846716, 198.933951, 198.200322, 197.778849,  11.361870,  14.627681,   7.231055)
table <- data.frame(table1,table2)

Error: '\m' is an unrecognized escape in character string starting ""$\m"

从我在其他地方发现的关于在R中使用mathmode的一个解决方案是使用两个斜杠,它们看起来像这样:

table1 <- c("$\\mathcal{M}_1 - \\mathcal{M}_3$",
            "$\\mathcal{M}_1 - \\mathcal{M}_3$",
            "$\\mathcal{M}_1 - \\mathcal{M}_4$",
            "$\\mathcal{M}_1 - \\mathcal{M}_5$",
            "$\\mathcal{M}_2 - \\mathcal{M}_3$",
            "$\\mathcal{M}_2 - \\mathcal{M}_4$",
            "$\\mathcal{M}_2 - \\mathcal{M}_5$",
            "$\\mathcal{M}_3 - \\mathcal{M}_4$",
            "$\\mathcal{M}_3 - \\mathcal{M}_5$",
            "$\\mathcal{M}_4 - \\mathcal{M}_5$")
table2 <- c(49.273540, 198.383423, 198.956909, 198.846716, 198.933951, 198.200322, 197.778849,  11.361870,  14.627681,   7.231055)
table <- data.frame(table1,table2)

到现在为止还挺好。没有错误消息。但是,当我尝试使用apa_table函数将papaja包格式化为乳胶表时,我得到了这个:

> apa_table(table)


\begin{table}[tbp]
\begin{center}
\begin{threeparttable}
\begin{tabular}{ll}
\toprule
table1 & \multicolumn{1}{c}{table2}\\
\midrule
\$\textbackslash{}mathcal\{M\}\_1 - \textbackslash{}mathcal\{M\}\_3\$ & 49.27\\
\$\textbackslash{}mathcal\{M\}\_1 - \textbackslash{}mathcal\{M\}\_3\$ & 198.38\\
\$\textbackslash{}mathcal\{M\}\_1 - \textbackslash{}mathcal\{M\}\_4\$ & 198.96\\
\$\textbackslash{}mathcal\{M\}\_1 - \textbackslash{}mathcal\{M\}\_5\$ & 198.85\\
\$\textbackslash{}mathcal\{M\}\_2 - \textbackslash{}mathcal\{M\}\_3\$ & 198.93\\
\$\textbackslash{}mathcal\{M\}\_2 - \textbackslash{}mathcal\{M\}\_4\$ & 198.20\\
\$\textbackslash{}mathcal\{M\}\_2 - \textbackslash{}mathcal\{M\}\_5\$ & 197.78\\
\$\textbackslash{}mathcal\{M\}\_3 - \textbackslash{}mathcal\{M\}\_4\$ & 11.36\\
\$\textbackslash{}mathcal\{M\}\_3 - \textbackslash{}mathcal\{M\}\_5\$ & 14.63\\
\$\textbackslash{}mathcal\{M\}\_4 - \textbackslash{}mathcal\{M\}\_5\$ & 7.23\\
\bottomrule
\end{tabular}
\end{threeparttable}
\end{center}
\end{table}

这不会产生我想要的表格:

enter image description here

总而言之,除了手动粘贴之外,我怎样才能将$\mathcal{M}_1 - \mathcal{M}_2$简单地放入我的桌面?我必须经常这样做,所以我想要一种更简单的方法来分配值。

r latex r-markdown
1个回答
1
投票

apa_table逃脱你的字符串在LaTeX中字面上转录。这通常是你想要的,但在你的情况下,你可以将escape = FALSE传递给apa_table

不幸的是,此参数的默认参数在此通用函数的不同S3方法之间不一致。这可能是一个错误。

© www.soinside.com 2019 - 2024. All rights reserved.