将数学符号从R数据帧导出到MS Word表

时间:2014-05-11 15:47:52

标签: r export-to-csv

我在R中做了很多计算,现在需要将我的data.frame变成MS Word中的平均值+/- SD表(这是所需的格式)。但是,我不知道如何获得“+/-”符号;看起来应该有一种方法可以做到这一点,不涉及手动将符号插入Word中表的每个单元格。

以下是使用mtcars数据的示例:

require(reshape2)
test_avg <- dcast(mtcars, cyl+gear ~ ., value.var = "mpg", fun.aggregate = mean)
test_sd <- dcast(mtcars, cyl+gear ~ ., value.var = "mpg", fun.aggregate = sd)
testtable <- cbind(test_avg[ , 1:2], paste(as.matrix(round(test_avg[3], 1)), as.matrix(round(test_sd[3], 1)), sep="+/-"))
write.csv(testable, file="Table.csv")

然后可以在Excel中打开“Table.csv”,然后将其复制,粘贴到Word中并获得一个漂亮的表格。这很好,但是如果我能在“sep =”参数中添加一些能在Word中给出“+/-”符号的东西会更好。有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:5)

使用unicode符号00B1。

mysymbol <- "\u00B1"
foo <- cbind(test_avg[ , 1:2], paste(as.matrix(round(test_avg[3], 1)), 
          as.matrix(round(test_sd[3], 1)), sep= mysymbol))

> foo
  cyl gear      dev
1   4    3  21.5±NA
2   4    4 26.9±4.8
3   4    5 28.2±3.1
4   6    3 19.8±2.3
5   6    4 19.8±1.6
6   6    5  19.7±NA
7   8    3 15.1±2.8
8   8    5 15.4±0.6
>