On Jan 21, 2010, at 6:06 PM, LCOG1 wrote:
Hello all,
I have data from a csv that i need to coerce into a multi
dimensional
array. As you can see from my sample code i have yet to master
building
efficient code. I can sort of do what i want but its very
cumbersome code
and i know there is a better way to do it, i am just not expereinced
enought
yet. So for the following:
#Create Data
h1i1a1<-sample(1:20, 5, replace=TRUE)
h1i1a2<-sample(1:20, 5, replace=TRUE)
h1i1a3<-sample(1:20, 5, replace=TRUE)
h1i2a1<-sample(1:20, 5, replace=TRUE)
h1i2a2<-sample(1:20, 5, replace=TRUE)
h1i2a3<-sample(1:20, 5, replace=TRUE)
h1i3a1<-sample(1:20, 5, replace=TRUE)
h1i3a2<-sample(1:20, 5, replace=TRUE)
h1i3a3<-sample(1:20, 5, replace=TRUE)
h1i4a1<-sample(1:20, 5, replace=TRUE)
h1i4a2<-sample(1:20, 5, replace=TRUE)
h1i4a3<-sample(1:20, 5, replace=TRUE)
h2i1a1<-sample(1:20, 5, replace=TRUE)
h2i1a2<-sample(1:20, 5, replace=TRUE)
h2i1a3<-sample(1:20, 5, replace=TRUE)
h2i2a1<-sample(1:20, 5, replace=TRUE)
h2i2a2<-sample(1:20, 5, replace=TRUE)
h2i2a3<-sample(1:20, 5, replace=TRUE)
h2i3a1<-sample(1:20, 5, replace=TRUE)
h2i3a2<-sample(1:20, 5, replace=TRUE)
h2i3a3<-sample(1:20, 5, replace=TRUE)
h2i4a1<-sample(1:20, 5, replace=TRUE)
h2i4a2<-sample(1:20, 5, replace=TRUE)
h2i4a3<-sample(1:20, 5, replace=TRUE)
h3i1a1<-sample(1:20, 5, replace=TRUE)
h3i1a2<-sample(1:20, 5, replace=TRUE)
h3i1a3<-sample(1:20, 5, replace=TRUE)
h3i2a1<-sample(1:20, 5, replace=TRUE)
h3i2a2<-sample(1:20, 5, replace=TRUE)
h3i2a3<-sample(1:20, 5, replace=TRUE)
h3i3a1<-sample(1:20, 5, replace=TRUE)
h3i3a2<-sample(1:20, 5, replace=TRUE)
h3i3a3<-sample(1:20, 5, replace=TRUE)
#Put into data frame
hia<-
data
.frame
(h1i1a1
,h1i1a2
,h1i1a3
,h1i2a1
,h1i2a2
,h1i2a3
,h1i3a1
,h1i3a2
,h1i3a3
,h1i4a1
,h1i4a2
,h1i4a3
,h2i1a1
,h2i1a2
,h2i1a3
,h2i2a1
,h2i2a2
,h2i2a3
,h2i3a1
,h2i3a2
,h2i3a3
,h2i4a1
,h2i4a2
,h2i4a3
,h3i1a1,h3i1a2,h3i1a3,h3i2a1,h3i2a2,h3i2a3,h3i3a1,h3i3a2,h3i3a3)
H <- array(c(h1i1a1, h1i1a2, h1i1a3, h1i2a1, h1i2a2, h1i2a3, h1i3a1,
h1i3a2, h1i3a3, h1i4a1, h1i4a2, h1i4a3, h2i1a1, h2i1a2, h2i1a3,
h2i2a1, h2i2a2, h2i2a3, h2i3a1, h2i3a2, h2i3a3, h2i4a1, h2i4a2,
h2i4a3, h3i1a1, h3i1a2, h3i1a3, h3i2a1, h3i2a2, h3i2a3, h3i3a1,
h3i3a2, h3i3a3), c(5,3,3,3) , dimnames=list(NULL, paste("i", 1:3,
sep=""), paste("h", 1:3, sep=""),paste("a", 1:3, sep="") ))
H
Would have been a lot easier to do this:
H < array( sample(1:20, 5*3*3*3, replace=TRUE), c(5,3,3,3) )
You can rearrange the names and dimensions to suit your tastes.
i would like to produce a multidimensional array that looks
something like
h1 h2 h3
i1 X X X
i2 X X X
i3 X X X
a = 1 , TAZ = 1:5 ->for all 5 TAZ values or each row
h1 h2 h3
i1 X X X
i2 X X X
i3 X X X
a = 2 , TAZ = i in 1:5
h1 h2 h3
i1 X X X
i2 X X X
i3 X X X
a = 3 , TAZ = i in 1:5
Basically a matrix for all possible combination, so 27 matrices
altogether.
But i guess its more like an array of arrays? Again i am not being
lazy, i
have been working on this all day but my code, like my sample stuff
is very
inefficient and ultimately not working well so im not bothering to
post it.
I know this will be complicated so thank you in advance, seeing the
end code
will teach me a great deal. Thanks
Cheers,
JR
--
View this message in context:
http://n4.nabble.com/Create-a-multi-dimensional-array-from-a-data-frame-tp1068487p1068487.html
Sent from the R help mailing list archive at Nabble.com.
______________________________________________
[email protected] 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.
David Winsemius, MD
Heritage Laboratories
West Hartford, CT
______________________________________________
[email protected] 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.