Waverley
2006-Nov-03 22:47 UTC
[R] question of one matrix column being treated as list rather than vector
Hi, I have one matrix derived from my function. It is as following: Browse[1]> each.uaa.data [,1] [,2] [1,] 33 152.3530 [2,] 33 264.7059 [3,] 51 583.3333 [4,] 33 323.3333 [5,] 50 292.549 [6,] 33 300 [7,] 56 104.1176 [8,] 52 246.6667 [9,] 53 242.5490 [10,] 33 212.9412 when I tried to get each.uaa.data[,2], it gave me a list, when I expect a vector so that I can find the max(each.uaa.data[,2]), this max() failed. I have checked is.matrix (each.uaa.data) and it is TRUE. I have a created a = matrix (12, 12, 2), a[,2] give me a vector of 12 of 12s which is what I have expected. Can someone help as how to prevent it becomes a list? I am new and thanks much for the help. Browse[1]> (each.uaa.data[,2]) [[1]] [1] 152.3530 [[2]] [1] 264.7059 [[3]] [1] 583.3333 [[4]] [1] 323.3333 [[5]] [1] 292.549 [[6]] [1] 300 [[7]] [1] 104.1176 [[8]] [1] 246.6667 [[9]] [1] 242.5490 [[10]] [1] 212.9412 -- Waverley @ Palo Alto [[alternative HTML version deleted]]
Tamas K Papp
2006-Nov-03 23:27 UTC
[R] question of one matrix column being treated as list rather than vector
On Fri, Nov 03, 2006 at 02:47:37PM -0800, Waverley wrote: Hi, You probably created that matrix from a list. Eg> a <- matrix(list(1,2,3,4),2,2) > a[,1] [,2] [1,] 1 3 [2,] 2 4> a[,2][[1]] [1] 3 [[2]] [1] 4> b <- matrix(1:4,2,2) > b[,2][1] 3 4 Both a and b are matrices, but note:> is.recursive(a)[1] TRUE> is.recursive(b)[1] FALSE Possible solutions: generate the matrix like b above, or use as.vector before calling max. Read ?[ and ?[[. HTH, Tamas> Browse[1]> each.uaa.data > [,1] [,2] > [1,] 33 152.3530 > [2,] 33 264.7059 > [3,] 51 583.3333 > [4,] 33 323.3333 > [5,] 50 292.549 > [6,] 33 300 > [7,] 56 104.1176 > [8,] 52 246.6667 > [9,] 53 242.5490 > [10,] 33 212.9412 > > when I tried to get each.uaa.data[,2], it gave me a list, when I expect a > vector so that I can find the max(each.uaa.data[,2]), this max() failed. > I have checked is.matrix (each.uaa.data) and it is TRUE. I have a created a > = matrix (12, 12, 2), a[,2] give me a vector of 12 of 12s which is what I > have expected. Can someone help as how to prevent it becomes a list? I am > new and thanks much for the help. > > Browse[1]> (each.uaa.data[,2]) > [[1]] > [1] 152.3530 > > [[2]] > [1] 264.7059 > > [[3]] > [1] 583.3333 > > [[4]] > [1] 323.3333 > > [[5]] > [1] 292.549 > > [[6]] > [1] 300 > > [[7]] > [1] 104.1176 > > [[8]] > [1] 246.6667 > > [[9]] > [1] 242.5490 > > [[10]] > [1] 212.9412 > > > -- > Waverley @ Palo Alto > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.