On 11/28/2016 1:06 AM, jean-philippe wrote:
dear all,

I have a dataframe of 500 rows and 4004 columns that I would like to
reshape to a dataframe of 500500 rows and 4 columns. That is from this
dataframe:

V1 V2 V3 V4 ... V4001 V4002 V4003 V4004

1 2 3 4 ... 4001 4002 4003 4004

1 2 3 4 ... 4001 4002 4003 4004

1 2 3 4 ... 4001 4002 4003 4004

... ... ... ... ... ... ... ... ... ... ... ... ...

1 2 3 4 ... 4001 4002 4003 4004

I would like :


V1 V2 V3 V4

1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

... ... ... ... ... ... ... ... ...

4001 4002 4003 4004

4001 4002 4003 4004

4001 4002 4003 4004

... ... ... ... ...

4001 4002 4003 4004

I tried already to use y=matrix(as.matrix(dataGaus[[1]]),500500,4)
(where dataGaus is my dataframe) but it doesn't give the expected
result. I tried also to use reshape but I can't manage to use it to
reproduce the result (and I have been through lot of posts on
StackOverflow and on the net). In python, we can do this with a simple
command numpy.array(dataGaus[[1]]).reshape(-1,4). For some reasons, I am
doing my analysis in R, and I would like to know if there is a function
which does the same thing as the reshape(-1,4) of numpy in Python?

Thanks in advance, best


Jean-Philippe


I don't know about efficiency, but it looks like you could do something like this:

y <- t(matrix(t(dataGaus),4))


Maybe someone will come along with something better,

Dan

--
Daniel Nordlund
Port Townsend, WA  USA

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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