Hello,
I'm glad it helped.
Now you have what is a data structure problem. The computations are the
same but in a different output.
First of all a terminology issue. In R the correct names for the data
structures you've refered to are 'list', 'matrix' and 'array'. To make
it short,
vector ---> 1-dim
matrix ---> 2-dim
array ---> n-dim
and
list ---> no dim attribute, can hold any type of data structure.
Your first sentence of this last post would read (changes in uppercase)
Actually I am trying to make an LIST of length 7, where each LIST ELEMENT
IS AN ARRAY containing a different number of 2 by 2 matrices.
In what follows, for the 3-dim array case I'll use the naming convention
[row, column, slice].
Each of your output list elements is an array with a possibly varying
number of slices. Right now all of them have 64 slices.
1. You need a list of 7 elements, each of them indexed by your current 'i';
2. Each of those elements is a 3-dim array, each slice is a 2x2 matrix
and each slice is indexed by your current 'l'.
3. Let's try it.
Nx <- rep(0, length(x))
Ny <- rep(0, length(y))
n <- (x+1)*(y+1)
results <- vector("list", 7)
for(i in 1:length(x)){
Nx[i] <- length(1:(x[i]+1))
Ny[i] <- length(1:(y[i]+1))
results[[i]] <- array(dim = c(2, 2, n[i]))
l <- 1
for(j in 1:(Nx[i])){
for(k in 1:(Ny[i])){
tmp <- c((0:x[i])[j], (0:y[i])[k],-(0:x[i])[j], -(0:y[i])[k])
results[[i]][,, l] <- mat.stat[,,i] + matrix(tmp, nrow=2,
ncol=2,byrow=T)
l <- l + 1
}
}
}
results
I think this is it. Let us now if not.
Rui Barradas
Em 03-10-2012 08:48, Loukia Spineli escreveu:
Thank you very much for your suggestions. They both worked!
Actually I am trying to make an array of length 7, where each array
contains a different number of 2 by 2 matrices. The vector "n" defines the
different number of matrices across the arrays. Therefore, the parameter
"l" has to change in every array i. Of course I cannot put the vector "n"
directly into the dimensions of the array (under the name "results").
First, I wanted to see if the code gives rational results assuming that
each array has the same number of 2 by 2 matrices. Fortunately, the results
are rational (thanks to your help, as well). Now I am taking the problem to
the next level and I want to construct this array of different number of 2
by 2 matrices!
Any suggestions would be really very helpful!
On Tue, Oct 2, 2012 at 6:23 PM, Rui Barradas <ruipbarra...@sapo.pt> wrote:
Hello,
See if this is it.
Nx <- rep(0,length(x))
Ny <- rep(0,length(y))
n <- (x+1)*(y+1)
results <- array(0, dim=c(2,2,64,7))
# l <- 1 # <--------------------------- This changed place
for(i in 1:length(x)){
Nx[i] <- length(1:(x[i]+1))
Ny[i] <- length(1:(y[i]+1))
l <- 1 # <----------------------- To here
for(j in 1:(Nx[i])){
for(k in 1:(Ny[i])){
Hope this helps,
Rui Barradas
Em 02-10-2012 15:20, Loukia Spineli escreveu:
I want to make a multi-dimensional array. To be specific I want to make
the
following array
results<-array(0,dim=c(2,2,64,**7))
This is the code I have created but it gives no result due to the error
"subscript out of bound".
x<-rep(7,7) # Missingness in intervention
y<-rep(7,7) # Missingness in control
arraynames<-list(Group=c("**Success","Failure"),Outcome=c(**
"Intervention","Control"),**Trial=c("1":"7"))
mat.stat<-array(c(9,16,10,15,**66,12,44,23,102,88,66,104,277,**
60,247,119,23,43,20,41,201,**162,122,
263,14,41,4,41),dim=c(2,2,7),**dimnames=arraynames);mat.stat
Nx<-rep(0,length(x))
Ny<-rep(0,length(y))
n<-(x+1)*(y+1)
results<-array(0,dim=c(2,2,64,**7))
l<-1
for(i in 1:length(x)){
Nx[i] <- length(1:(x[i]+1))
Ny[i] <- length(1:(y[i]+1))
for(j in 1:(Nx[i])){
for(k in 1:(Ny[i])){
results[,,l,i]<-mat.stat[,,i]+**matrix(c(c(0:x[i])[j],c(0:y[i]**
)[k],-c(0:x[i])[j],
-c(0:y[i])[k]),nrow=2,ncol=2,**byrow=T)
l<-l+1
}
}
}
results
Any suggestion would be really welcome!
Thank you very much!
Loukia
[[alternative HTML version deleted]]
______________________________**________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/**listinfo/r-help<https://stat.ethz.ch/mailman/listinfo/r-help>
PLEASE do read the posting guide http://www.R-project.org/**
posting-guide.html <http://www.R-project.org/posting-guide.html>
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
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.