[R] upside down image/data

Jenny Barnes jmb at mssl.ucl.ac.uk
Wed Dec 13 15:53:23 CET 2006


Thanks Thomas,

My data arrays each contain 0.5million data points so I couldn't really 
reproduce them unfortunately. Next time I will try and offer some exapmle code 
simplified with comments in order to help you and the others on R-help 
understand my problem more easily. I appreciate your help and advise and I know 
it will be very usefull in learning about handling these huge datasets more 
accurately.

Jenny

>
>the transform that i provided orientates the data matrix so that when plotted 
with image
>or levelplot the result is isomorphic to what you see when you print the matrix 
at the r
>prompt.
>
>i don't know what your data look like---"commented, minimal, self-contained, 
reproducible
>code" would help---but you should be able to work out exactly what way you want 
your data
>to appear by playing with the example code. i would advise you to produce a 
data matrix
>the way you want to see it on the screen, just like the matrix m in the example 
code, and
>then view the output with levelplot(inverse(m)), in which case, the answer to 
your
>question is you only need to transform the data with inverse() once you get 
your data
>matrix to look the way you want at the r prompt. 
>
>
>--- Jenny Barnes <jmb at mssl.ucl.ac.uk> wrote:
>
>> Thomas,
>> 
>> Thank you for this example, makes it easier to see what levelplot does - does 
>> this mean that EVERY time I want to plot with levelplot() I have to not only 
>> reverse the columns [,ncol(output.temp):1] but also have to transform the 
matrix 
>> as below? I am only suprised as I don't remember having read about this in 
the 
>> R-info in ?levelplot or R-help website and it seems like a fundamental thing 
to 
>> know if using levelplot! 
>> 
>> Thanks,
>> 
>> Jenny
>> 
>> >
>> >	rm(list=ls(all=TRUE))
>> >	graphics.off()
>> >	# make a test matrix:
>> >	nr<- 3
>> >	nc<- 4
>> >	# the data:
>> >	( m<- matrix((1:(nr*nc)), nr, nc) )
>> >	     [,1] [,2] [,3] [,4]
>> >	[1,]    1    4    7   10
>> >	[2,]    2    5    8   11
>> >	[3,]    3    6    9   12
>> >
>> >	# the way that levelplot (and image) displays the data:
>> >	t(m)[dim(t(m))[1]:1, ]
>> >	     [,1] [,2] [,3]
>> >	[1,]   10   11   12
>> >	[2,]    7    8    9
>> >	[3,]    4    5    6
>> >	[4,]    1    2    3
>> >
>> >	# undo what levelplot does by performing the inverse transformation
>> >	inverse<- function(x) t(x[dim(x)[1]:1, ]) 
>> >
>> >	windows(); levelplot(m, main="levelplot(m)")
>> >	windows(); levelplot(inverse(m), main="levelplot(inverse(m))")
>> >
>> >	> Message: 7
>> >	> Date: Mon, 11 Dec 2006 12:28:17 +0000 (GMT)
>> >	> From: Jenny Barnes <jmb at mssl.ucl.ac.uk>
>> >	> Subject: [R] upside down image/data
>> >	> To: r-help at stat.math.ethz.ch
>> >	> Message-ID: <200612111228.kBBCSHrj013960 at msslhb.mssl.ucl.ac.uk>
>> >	> Content-Type: TEXT/plain; charset=us-ascii
>> >	> 
>> >	> Dear R-community,
>> >	> 
>> >	> I am looking for some simple advice - I have a matrix (therefore 2 
>> dimensional) 
>> >	> of global temperature. 
>> >	> 
>> >	> Having read R-help I think that when I ask R to image() or levelplot() 
>> my matrix 
>> >	> will it actually appear upside down - I think I therefore need to use 
>> the line:
>> >	> > levelplot(temperature.matrix[,ncol(output.temp):1], ........)
>> >	> to get it looking like it was on the globe due to the matrix rows 
>> increasing in 
>> >	> number down the matrix in its dimensions on longitude and latitude but 
>> the 
>> >	> y-axis coordinates increase up the axis.
>> >	> 
>> >	> Can anyone simply tell me whether this is correct as I find it very 
>> hard to know 
>> >	> which way up my data should be and I cannot tell which is correct 
>> simply by 
>> >	> looking at it!
>> >	> 
>> >	> Many thanks for your time in reading this problem,
>> >	> 
>> >	> Jenny Barnes
>> >
>> >
>> 
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> Jennifer Barnes
>> PhD student - long range drought prediction
>> Climate Extremes
>> Department of Space and Climate Physics
>> University College London
>> Holmbury St Mary, Dorking
>> Surrey
>> RH5 6NT
>> 01483 204149
>> 07916 139187
>> Web: http://climate.mssl.ucl.ac.uk
>> 
>> 
>> 
>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jennifer Barnes
PhD student - long range drought prediction
Climate Extremes
Department of Space and Climate Physics
University College London
Holmbury St Mary, Dorking
Surrey
RH5 6NT
01483 204149
07916 139187
Web: http://climate.mssl.ucl.ac.uk



More information about the R-help mailing list