为了在Sweave中使用,我尝试在prop.table的输出中附加%符号。我尝试的代码如下:
m <- matrix(1:4,2)
dimnames(m) <- list(c("A", "B"), c("C", "D"))
prop.table(m,1)*100
C D
A 25.00000 75.00000
B 33.33333 66.66667
paste(round(prop.table(m,1)*100, 3), "%", sep = "")
[1] "25%" "33.333%" "75%" "66.667%"
paste(sprintf("%.1f", prop.table(m,1)*100), "%", sep = "")
[1] "25.0%" "33.3%" "75.0%" "66.7%"使用paste会将类从矩阵更改为字符。如果有人能给我正确的解决方案,我将不胜感激。谢谢
发布于 2012-02-08 07:42:15
大多数设计用于处理向量的函数也接受矩阵,但返回的是向量而不是矩阵:paste、sprintf等。您可以使用apply,它将返回一个矩阵。
apply(
prop.table(m,1)*100,
2,
function(u) sprintf( "%.1f%%", u )
)https://stackoverflow.com/questions/9185745
复制相似问题