我在R中有这个代码:
seq1 <- seq(1:20)
mat <- matrix(seq1, 2)
结果是:
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [1,] 1 3 5 7 9 11 13 15 17 19 [2,] 2 4 6 8 10 12 14 16 18 20
R是否有一个选项可以禁止显示列名和行名,这样我就不会得到[,1] [,2]等等?
答案 0 :(得分:14)
如果要保留尺寸名称但不打印它们,可以定义新的打印功能。
print.matrix <- function(m){
write.table(format(m, justify="right"),
row.names=F, col.names=F, quote=F)
}
> print(mat)
1 3 5 7 9 11 13 15 17 19
2 4 6 8 10 12 14 16 18 20
答案 1 :(得分:4)
这适用于矩阵:
seq1 <- seq(1:20)
mat <- matrix(seq1, 2)
dimnames(mat) <-list(rep("", dim(mat)[1]), rep("", dim(mat)[2]))
mat
答案 2 :(得分:3)
还有?prmatrix
:
prmatrix(mat, collab = rep_len("", ncol(mat)), rowlab = rep_len("", ncol(mat)))
#
# 1 3 5 7 9 11 13 15 17 19
# 2 4 6 8 10 12 14 16 18 20
答案 3 :(得分:1)
Fojtasek的解决方案可能是最好的,但是另一个是使用sprintf。
print.matrix <- function(x,digits=getOption('digits')){
fmt <- sprintf("%% .%if",digits)
for(r in 1:nrow(x))
writeLines(paste(sapply(x[r,],function(x){sprintf(fmt,x)}),collapse=" "))
}