我正在研究一个函数来从一些线性模型做我自己的输出,我想制作一个输出矩阵我试图得到一个具有不同十进制规则的矩阵。例如,如果我有:
structure(c(1, 2, 3.45, 5.67), .Dim = c(4L, 1L), .Dimnames = list(c("A", "B", "C", "D"), NULL))'
是否可以使第1行和第2行显示为整数,小数位于最后两行?我知道我可以制作两个矩阵并使用rbind(),但我想保持对齐方式相同,以便列排列良好。
答案 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