1

我可以控制 r 中向量中输出的不同十进制数字吗?

> c(2.44,5)
[1] 2.44 5.00

如果我想获得以下输出格式,我该怎么办?对于向量,一个是 2.44,另一个是 5。

   2.44 5

它对我不起作用。

> c(2.44,round(5,0))    
[1] 2.44 5.00
4

2 回答 2

4

编辑: 试试这个:

R> noquote(prettyNum(c(2.44, 5)))
[1] 2.44 5   

上一个答案:

如果你不介意字符表示,你可以这样做

R> prettyNum(c(2.44, 5))
[1] "2.44" "5"  

您也可以制作自己的功能

print.myway <- function(x, ...) { 
  for(xx in x) cat(xx, " ", sep="")
  cat("\n") 
}
print.myway(c(2.44, 5))
#2.44 5  

由于我将其命名为通用print函数的 S3 方法,因此任何具有“myway”类的对象都将这样打印。所以,你也可以像这样使用它

R> x <- c(2.44, 5)
R> class(x) <- "myway"
R> x
2.44 5  
于 2013-09-29T12:11:38.780 回答
0

解决方法:将其打印为单行矩阵:

> t(c(2.44, 5))
     [,1] [,2]
[1,] 2.44    5
于 2013-09-29T12:09:56.657 回答