Convert 2-dim array to 3-dim array
Hi Dave, I tested the "as.array".? It gives a different dimension when compared to "array" set.seed(1) datE<-data.frame(A=rnorm(30,0.5)) myArr=as.array(unlist(datE),dim=c(5,2,3))
myArr
???????? A1????????? A2????????? A3????????? A4????????? A5????????? A6 -0.12645381? 0.68364332 -0.33562861? 2.09528080? 0.82950777 -0.32046838 ???????? A7????????? A8????????? A9???????? A10???????? A11???????? A12 ?0.98742905? 1.23832471? 1.07578135? 0.19461161? 2.01178117? 0.88984324 ??????? A13???????? A14???????? A15???????? A16???????? A17???????? A18 -0.12124058 -1.71469989? 1.62493092? 0.45506639? 0.48380974? 1.44383621 ??????? A19???????? A20???????? A21???????? A22???????? A23???????? A24 ?1.32122120? 1.09390132? 1.41897737? 1.28213630? 0.57456498 -1.48935170 ??????? A25???????? A26???????? A27???????? A28???????? A29???????? A30 ?1.11982575? 0.44387126? 0.34420449 -0.97075238? 0.02184994? 0.91794156
is.array(myArr)
[1] TRUE
dim(myArr)
[1] 30
myArr1=array(unlist(datE),dim=c(5,2,3)) myArr1
, , 1 ?????????? [,1]?????? [,2] [1,] -0.1264538 -0.3204684 [2,]? 0.6836433? 0.9874291 [3,] -0.3356286? 1.2383247 [4,]? 2.0952808? 1.0757814 [5,]? 0.8295078? 0.1946116 , , 2 ?????????? [,1]????? [,2] [1,]? 2.0117812 0.4550664 [2,]? 0.8898432 0.4838097 [3,] -0.1212406 1.4438362 [4,] -1.7146999 1.3212212 [5,]? 1.6249309 1.0939013 , , 3 ????????? [,1]??????? [,2] [1,]? 1.418977? 0.44387126 [2,]? 1.282136? 0.34420449 [3,]? 0.574565 -0.97075238 [4,] -1.489352? 0.02184994 [5,]? 1.119826? 0.91794156
dim(myArr1)
[1] 5 2 3 A.K. ----- Original Message ----- From: David Winsemius <dwinsemius at comcast.net> To: David Zastrau <davidz at tzi.de> Cc: r-help at r-project.org Sent: Monday, June 4, 2012 10:45 AM Subject: Re: [R] Convert 2-dim array to 3-dim array
On Jun 4, 2012, at 5:08 AM, David Zastrau wrote:
Hello R-users, I'd like to load data from a CSV-file to a 3-dimensional array. However the default seems to be 2-dimensional.
No.? that is not the problem.
It would also be ok to load the data and then convert it to a 3-dimensional structure. I've been trying: ? dat = read.csv(filename) ? myArr = as.array(dat, dim = c(12,100,3)) However, I get an error message: Error in `dimnames<-.data.frame`(`*tmp*`, value = list(n)) : invalid 'dimnames' given for data frame
A dataframe is a list structure while both array and matrix are expecting the first argument to be an atomic vector. Try this (although it is a blind guess because you have not provided the structure of 'dat' myArr = as.array( unlist(dat), dim = c(12,100,3)) --David.
And I don't know how how to set the dimnames. I would appreciate any help! Best Wishes Dave ??? [[alternative HTML version deleted]]
______________________________________________ R-help at 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.
David Winsemius, MD West Hartford, CT ______________________________________________ R-help at 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.