我想打印一个没有列名的矩阵,发现这个answer。但是,当行名称保持不变并且长度不同时,这将导致输出的列不再对齐:
m <- matrix(LETTERS[1:12],nrow = 2, ncol = 6)
rownames(m) <- c("First Row", "Second Row")
使用print
只是忽略col.names = FALSE
参数(为什么?):
print(m, col.names=FALSE, quote=FALSE)
> [,1] [,2] [,3] [,4] [,5] [,6]
> First Row A C E G I K
> Second Row B D F H J L
建议使用write.table
删除对齐方式:
write.table(format(m, justify="right"), col.names=FALSE, quote=FALSE)
> First Row A C E G I K
> Second Row B D F H J L
如何保持行名称和对齐的完整性?
答案 0 :(得分:1)
如果您确实不希望使用矩阵或表类,则可以使用数据框,从而轻松隐藏列名并使数据保持对齐。
>d = as.data.frame(m)
>colnames(d)=NULL
>d
First Row A C E G I K
Second Row B D F H J L