具有不同小数规则的相同矩阵

时间:2013-12-22 02:35:46

标签: r matrix decimal output

我正在研究一个函数来从一些线性模型做我自己的输出,我想制作一个输出矩阵我试图得到一个具有不同十进制规则的矩阵。例如,如果我有:

structure(c(1, 2, 3.45, 5.67), .Dim = c(4L, 1L), .Dimnames = list(c("A", "B", "C", "D"), NULL))'

是否可以使第1行和第2行显示为整数,小数位于最后两行?我知道我可以制作两个矩阵并使用rbind(),但我想保持对齐方式相同,以便列排列良好。

2 个答案:

答案 0 :(得分:3)

如果在打印前将数字矩阵转换为字符矩阵,则非常容易:

print("[<-"(mat, as.character(mat)), quote = FALSE)

显示:

  [,1]
A 1   
B 2   
C 3.45
D 5.67

以上命令类似于:

mat[] <- as.character(mat)
print(mat, quote = FALSE)

但保持mat不变。

答案 1 :(得分:2)

R中的输出使用print(...)函数格式化;使用digits =参数来控制输出中的有效位数。

因此,如果上面的矩阵是M

print(M[1:2,],digits=0)
# A B 
# 1 2 
print(M[3:4,],digits=3)
#    C    D 
# 3.45 5.67