On Jun 4, 2012, at 12:54 PM, arun wrote:

Hi Dave,

I tested the "as.array". It gives a different dimension when compared to "array"

Interesting. `as.array basically throws away a 'dim' argument and substitutes length(x). Thanks for the correction.

--
David.

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 <dwinsem...@comcast.net>
To: David Zastrau <dav...@tzi.de>
Cc: r-help@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@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@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@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