[R] matrix transformation into 3 columns II.
Roger Bivand
Roger.Bivand at nhh.no
Thu May 18 19:20:28 CEST 2006
On Thu, 18 May 2006, Rado Bonk wrote:
> Dear R-users
>
> Sorry for posting the previous message too soon before I have finished it.
Hi Rado,
I think reshape() of mprecip as a data frame will do it, or stack(), my
closest attempts so far were:
reshape(mprecip, direction="long", idvar="date",
varying=list(names(mprecip)[2:7]))
which gets "date" right, has the data in the right order, but has a "time"
variable instead of the station names, or:
stack(mprecip)
which doesn't have the dates, but is otherwise in the expected order. The
reshape() arguments are a black art ...
Best wishes,
Roger
>
> I have matrix (mprecip) with headers:
>
> > dim(mprecip)
> [1] 6268 170
>
> > mprecip
> date GilzeRijen Eindhoven Volkel ZuidLimburg Arcen Ubachsberg
> 1 01/01/1978 NA 0.0 NA 0.1 NA NA
> 2 01/02/1978 NA 0.0 NA 0.0 NA NA
> 3 01/03/1978 NA 1.9 NA 0.7 NA NA
> 4 01/04/1978 NA 3.5 NA 6.9 NA 6.0
> 5 01/05/1978 NA 1.6 NA 1.8 NA 1.3
> 6 01/06/1978 NA 0.0 NA 0.0 NA NA
> 7 01/07/1978 NA 0.0 NA 0.0 NA NA
> 8 01/08/1978 NA 0.0 NA 0.0 NA NA
>
> Columns are: DATE and PRECIP values for each station listed in the header.
>
> I would like to transform the matrix into three columns (database like)
> to be able to load the data in the database. Here is the output I would
> like to get get it, number of rows = ncol x nrow. Output should look
> like this:
>
> STATION_NAME1 DATE PRECIP
> STATION_NAME1 DATE PRECIP
> STATION_NAME1 DATE PRECIP
> STATION_NAME1 DATE PRECIP
> .
> .
> .
> .
> STATION_NAME2 DATE PRECIP
> STATION_NAME2 DATE PRECIP
> STATION_NAME2 DATE PRECIP
> .
> .
> .
> STATION_NAME170 DATE PRECIP
> STATION_NAME170 DATE PRECIP
> STATION_NAME170 DATE PRECIP
> STATION_NAME170 DATE PRECIP
> STATION_NAME170 DATE PRECIP
>
>
> Thanks again for your help.
>
>
> Rado
>
>
--
Roger Bivand
Economic Geography Section, Department of Economics, Norwegian School of
Economics and Business Administration, Helleveien 30, N-5045 Bergen,
Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
e-mail: Roger.Bivand at nhh.no
More information about the R-help
mailing list