[R] populating an array

Tony Plate tplate at acm.org
Fri Oct 16 17:39:37 CEST 2009


R doesn't access arrays like C, use [i,j] to access a 2-d array, e.g.:

> my_array <- array(0,dim=c(2,2))
> for(i in seq(1,2,by=1)){
+   for(j in seq(1,2,by=1)){
+     my_array[i,j] = i+j
+   }
+ }
> 
> my_array
     [,1] [,2]
[1,]    2    3
[2,]    3    4
> 

tdm wrote:
> Hi,
> 
> Can someone please give me a pointer as to how I can set values of an array?
> 
> Why does the code below not work?
> 
> my_array <- array(dim=c(2,2))
> my_array[][] = 0
> my_array
>      [,1] [,2]
> [1,]    0    0
> [2,]    0    0
>  
> for(i in seq(1,2,by=1)){
>  for(j in seq(1,2,by=1)){
>  my_array[i][j] = 5
>  }
>  }
> 
> Warning messages:
> 1: In my_array[i][j] = 5 :
>   number of items to replace is not a multiple of replacement length
> 2: In my_array[i][j] = 5 :
>   number of items to replace is not a multiple of replacement length
> 
>  my_array
>      [,1] [,2]
> [1,]    5    0
> [2,]    5    0
>  
>  
>



More information about the R-help mailing list