[R] Convert two-dimensional array into a three-dimensional array.

Sorkin, John j@ork|n @end|ng |rom @om@um@ry|@nd@edu
Fri Dec 8 23:57:45 CET 2023


Colleagues

I want to convert a 10x2 array:
# create a 10x2 matrix.
datavals <- matrix(nrow=10,ncol=2)
datavals[,] <- rep(c(1,2),10)+c(rnorm(10),rnorm(10))
datavals

into a 10x3 array, ThreeDArray, dim(10,2,10).

The values storede in  ThreeDArray's first dimensions will be the data stored in datavalues.
ThreeDArray[i,,] <- datavals[i,]

The values storede in  ThreeDArray's second dimensions will be the data stored in datavalues.
ThreeDArray[,j,] <- datavals[,j]

The data stored in ThreeDArray[,,1] will be 1, 
The data stored in ThreeDArray[,,2] will be 2.
 . . . 
The data stored in ThreeDArray[,,10] will be 10.

I have no idea how to code the coversion of the 10x2 matrix into a 10,2,10 array.
I may be able to acomplish my mission by coding each line of the plan described above,
but there has to be a more efficient and elegant way to accompish my goal.

Many thanks for your help!
John




John David Sorkin M.D., Ph.D.
Professor of Medicine, University of Maryland School of Medicine;

Associate Director for Biostatistics and Informatics, Baltimore VA Medical Center Geriatrics Research, Education, and Clinical Center; 

PI Biostatistics and Informatics Core, University of Maryland School of Medicine Claude D. Pepper Older Americans Independence Center;

Senior Statistician University of Maryland Center for Vascular Research;

Division of Gerontology and Paliative Care,
10 North Greene Street
GRECC (BT/18/GR)
Baltimore, MD 21201-1524
Cell phone 443-418-5382





More information about the R-help mailing list