Skip to content

Letters(V1,V2..) as row col indices instead of numbers

6 messages · kparamas, PIKAL Petr, KumaraGuru +1 more

#
What makes matrix to print V1, V2 as the row and col indices instead of
numbers??

cdata = read.table("ramesh.txt") #cdata is read from a file.
c1 = cor(cdata) 

I am printing c1 below. I need only numbers. I dont need V1, V2...what
should I do in this case??
http://r.789695.n4.nabble.com/file/n3243980/ramesh.txt ramesh.txt 

           V1        V2        V3        V4        V5        V6        V7
V1  1.0000000 0.9471591 0.9191233 0.9403129 0.9689690 0.9621362 0.9529811
V2  0.9471591 1.0000000 0.8888108 0.9108174 0.9703906 0.9425248 0.9294308
V3  0.9191233 0.8888108 1.0000000 0.8788107 0.9077245 0.9078971 0.8965331
V4  0.9403129 0.9108174 0.8788107 1.0000000 0.9477058 0.9017977 0.8646251
V5  0.9689690 0.9703906 0.9077245 0.9477058 1.0000000 0.9531459 0.9162016
V6  0.9621362 0.9425248 0.9078971 0.9017977 0.9531459 1.0000000 0.9447130
V7  0.9529811 0.9294308 0.8965331 0.8646251 0.9162016 0.9447130 1.0000000
V8  0.9167526 0.9395067 0.8491496 0.8942693 0.9460702 0.9304229 0.8505287
V9  0.9512951 0.9598302 0.8666839 0.9465725 0.9645178 0.9486105 0.8979753
V10 0.9551633 0.9040160 0.9180022 0.9429816 0.9448644 0.9220875 0.9075537
#
Hi

r-help-bounces at r-project.org napsal dne 28.01.2011 09:52:05:
0.9529811
0.9294308
0.8965331
0.8646251
0.9162016
0.9447130
1.0000000
0.8505287
0.8979753
0.9075537

Vn are names of columns which R gave to your matrix when you read it as a 
data frame. And cor just makes a matrix of pairwise corelation 
coefficients from this data frame conveniently named from this data frame. 
If you do not want those names just unname it.

c1 = unname(cor(cdata))

But I wonder why you dislike those names which are,  well, just names.

Regards
Petr
http://r.789695.n4.nabble.com/Letters-V1-V2-as-
http://www.R-project.org/posting-guide.html
#
I want to melt the cor matrix and form a 3 col matrix with row# col# and cor. 

This I m using to draw a graph. 

Regards,
Kumaraguru
On Jan 28, 2011, at 6:47 AM, Petr PIKAL <petr.pikal at precheza.cz> wrote:

            
#
Hi

KumaraGuru <kumaragurutp at gmail.com> napsal dne 28.01.2011 17:03:50:
cor. 

Well, in that case it will be probably better to transform it to data 
frame and use melt. Or you can drop dimensions of this matrix and generate 
proper sequences of row and column numbers. Try it with smaller matrix.

Row names does not matter
a b  c d
a 1 5  9 1
b 2 6 10 2
c 3 7 11 3
d 4 8 12 4
[1]  1  2  3  4  5  6  7  8  9 10 11 12  1  2  3  4
x
 [1,] 1 1  1
 [2,] 2 1  2
 [3,] 3 1  3
 [4,] 4 1  4
 [5,] 1 2  5
 [6,] 2 2  6
 [7,] 3 2  7
 [8,] 4 2  8
 [9,] 1 3  9
[10,] 2 3 10
[11,] 3 3 11
[12,] 4 3 12
[13,] 1 4  1
[14,] 2 4  2
[15,] 3 4  3
[16,] 4 4  4
Regards
Petr
of
V2...what
as a
frame.
#
While listing it like that is it possible to remove the rows that has same row and col numbers?

Like..
1 1 x
2 2 x2
....

Regards,
Kumaraguru
On Jan 28, 2011, at 9:23 AM, Petr PIKAL <petr.pikal at precheza.cz> wrote:

            
#
Suppose your correlation matrix is called cc.  One way
to do what you want is

result = cbind(as.vector(row(cc)),as.vector(col(cc)),as.vector(cc))
result = result[result[,1] != result[,2],]

 					- Phil Spector
 					 Statistical Computing Facility
 					 Department of Statistics
 					 UC Berkeley
 					 spector at stat.berkeley.edu
On Fri, 28 Jan 2011, KumaraGuru wrote: