我在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中给出“+/-”符号的东西会更好。有什么想法吗?
谢谢!
答案 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
>