从R到Excel表的上标?

6 浏览
0 Comments

从R到Excel表的上标?

有几个很好的R包可用于读写MS Excel电子表格。从R导出上标到LaTeX表格很容易(参见这个),但是是否有一种直接将上标从R导出到Excel表格的方法呢?\n一个例子:\n

library(openxlsx)
dt <- data.frame(a = 1:3, b = c("a", "b", ""))
dt$try1 <- paste0(dt$a, "^{", dt$b, "}") ## Base R, openxlsx does not seem to know how to handle expression()  
dt$try2 <- paste0(dt$a, "\\textsuperscript{", dt$b, "}") # Should work in xtable
dt$try3 <- paste0("\\textsuperscript{", dt$b, "}") # This does not work either
write.xlsx(dt, "Superscript test.xlsx") 

\n这段代码生成了一个漂亮的Excel表格,但是无法处理LaTeX代码(可以理解,因为我们是导出到Excel)。也许有一种Excel上标代码可以绕过这个问题?

0
0 Comments

这个问题的出现是因为在将R中的上标(Superscript)转移到Excel表格中遇到了困难。下面是解决方法:

首先,在R中定义上标的表示方式,并创建一个单独的列,就像在dt1$try1中所做的那样。在示例中,上标字符被包含在_[]中。请尽量避免在工作簿中可能出现的其他情况中使用模糊不清的表示方式。

然后,创建一个工作簿,并添加一个名为"data"的工作表,将数据写入工作簿。之后,使用循环来处理工作簿中的每个共享字符串。首先,检查上标表示中是否为空字符串,如果是,则删除上标表示。接下来,在共享字符串中插入附加格式。找到"_[...]"模式,删除括号和下划线,并使用上标格式将文本包含起来。

最后,保存工作簿为"test.xlsx"文件。

包含工作簿单元格中字符串的唯一实例。所选择的模式捕获了在_[]中包含的任何单词、数字和空格(或空字符串)的实例。循环的第一部分检查上标表示中是否没有字符,如果是,则删除表示。

文章的最后,有一个提问者对解决方法的回答,他表示自己没有找到解决方法,只能手动进行操作,并感谢回答者的帮助。他还向回答者请教如何在xml代码中添加粗体文本以在单元格"C2:C3"中生成粗体文本。

0