If I print a matrix, it is shown with row and column indices in the console. E.g.
> print(diag(3))
[,1] [,2] [,3]
[1,] 1 0 0
[2,] 0 1 0
[3,] 0 0 1
How can I suppress the column and row indices? I.e. something like this:
> print(diag(3), indices=FALSE)
1 0 0
0 1 0
0 0 1
I can see that the cwhmisc
package should contain a printM
function to do this according to the documentation but it is not there when I load cwhmisc. Also, this seems like something you should be able to to in base R.
Most often, indexing in matrices is done using two subscripts—one for the rows and one for the columns. The simplest form just picks out a single element: More generally, one or both of the row and column subscripts can be vectors: A single : in a subscript position is shorthand notation for 1:end and is often used to select entire rows or columns:
Outline: To print matrix in Python use – numpy. array() method, or, numpy.matrix class, or, a list comprehension + join() method; join() + map() methods
MATLAB provides a function called sub2ind that converts from row and column subscripts to linear indices. You can use it to extract the desired elements this way: A MATLAB user recently posed this question in the comp.soft-sys.matlab newsgroup: If I want to shift the rows of an m-by-n matrix A by k places, I use A (:, [n-k+1:n 1:n-k]).
More generally, one or both of the row and column subscripts can be vectors: A single : in a subscript position is shorthand notation for 1:end and is often used to select entire rows or columns: There is often confusion over how to select scattered elements from a matrix.
Another solution with function write.table
write.table(diag(3), row.names=F, col.names=F)
You can make it prettier by separating the columns with a tabulation
write.table(matrix(sample(1000,9),3,3), row.names=F, col.names=F, sep="\t")
The function prmatrix
in the base
package could work for this, it can take the arguments collab
and rowlab
:
prmatrix(diag(3), rowlab=rep("",3), collab=rep("",3))
1 0 0
0 1 0
0 0 1
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With