Hi Gabor:
Many thanks for your prompt reply!
The code is fine. But I need it in more general form as I had mentioned that
I need to input any 0 to find its dimension-names.

Actually, I was using "sapply" to calculate correlation and this idea was
required in the middle of correlation calculation.
I am providing the way I tried my calculation.

a= c("A1","A2","A3","A4","A5")
b= c("B1","B2","B3")
c= c("C1","C2","C3","C4")
d= c("D1","D2")
e= c("E1","E2","E3","E4","E5","E6","E7","E8")

DataArray_1 = array(c(rnorm(240)),dim=c(length(a),length(b),
length(d),length(e)),dimnames=list(a,b,d,e))
DataArray_2 = array(c(rnorm(320)), dim=c(length(a),length(c),
length(d),length(e)),dimnames=list(a,c,d,e))

#Defining an empty array which will contain the correlation values (output
array)
Correl = array(NA, dim=c(length(a),length(b),
length(c),length(d)),dimnames=list(a,b,c,d))

#Calculating Correlation between attributes b & c over values of e
Correl = sapply(Correl,function(d) cor(DataArray_1[...],DataArray_2[...],
use="pairwise.complete.obs"))

This is where I get stuck.
In the above, d is acting as an element in the "Correl" array. Hence I need
to get the dimension-names for d.

#The first element of Correl will be:
cor(DataArray_1[dimnames(Correl)[[1]][1],dimnames(Correl)[[2]][1],dimnames(Correl)[[4]][1],],DataArray_2[dimnames(Correl)[[1]][1],dimnames(Correl)[[3]][1],dimnames(Correl)[[4]][1],],use="pairwise.complete.obs")

So my problem boils down to extracting the dim-names in terms of element(d)
and not in terms of Correl (that I have mentioned as "..." in the above
code)

My sincere thanks for your valuable time & suggestions.

Many Thanks & Kind Regards,
Sauvik


On Sun, Jul 26, 2009 at 5:26 AM, Gabor Grothendieck <ggrothendi...@gmail.com
> wrote:

> Try this:
>
> > ix <- c(1, 3, 4, 2)
> > mapply("[", dimnames(mydatastructure), ix)
> [1] "S1" "T3" "U4" "V2"
>
>
> On Sat, Jul 25, 2009 at 5:12 PM, Sauvik De<sauvik.s...@gmail.com> wrote:
> > Hi:
> > How can I extract the dimension-names of a pre-defined element in a
> > multidimensional array in R ?
> >
> > A toy example is provided below:
> > I have a 4-dimensional array with each dimension having certain length.
> In
> > the below example, "mydatastructure" explains the structure of my data.
> >
> > mydatastructure = array(0,
> dim=c(length(b),length(z),length(x),length(d)),
> > dimnames=list(b,z,x,d))
> >
> > where,
> > b=c("S1","S2","S3","S4","S5")
> > z=c("T1","T2", "T3")
> > x=c("U1","U2","U3","U4")
> > d=c("V1","V2")
> >
> > Clearly, "mydatastructure" contains many 0's.
> > Now how can I get the dimension-names of any particular 0 ?
> > That is, my input should be a particular 0 in the array "mydatastructure"
> > (Suppose this 0 corresponds to S1,T3,U4 & V2 in the array). Then my
> output
> > should be S1,T3,U4 & V2.
> >
> > The function "dimnames" didn't help me with the solution.
> > Any idea will greatly be appreciated.
> >
> > Thanks for your time!
> >
> > Kind Regards,
> > Sauvik
> >
> >        [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help@r-project.org 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.
> >
>

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org 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.

Reply via email to