Skip to content
Back to formatted view

Raw Message

Message-ID: <5110B85F.8090804@ymail.com>
Date: 2013-02-05T07:44:31Z
From: Pascal Oettli
Subject: duplicate data
In-Reply-To: <CABDRVjGpCtYqATEW3BRPe9-hujb-KSAK2s=PFeUywSw04Qk4uA@mail.gmail.com>

Hello,

 From ?interp.old

duplicate 	

character string indicating how to handle duplicate data points. 
Possible values are

"error"
     produces an error message,

"strip"
     remove duplicate z values,

"mean","median","user"
     calculate mean , median or user defined function (dupfun) of 
duplicate z values.


HTH,
Pascal


Le 13/02/05 16:06, Richard M?ller a ?crit :
> Hello,
>
> I have a long list of x-, y- and z-data and try to generate a heatmap.
> Obviously there are several data with identical x- and y-values. I get
> the following error message:
>
> Error in interp.old(x, y, z, xo = xo, yo = yo, ncp = 0, extrap = extrap,  :
>    duplicate data points: need to set 'duplicate = ..'
>
> Unfortunately there seems no help screen on "duplicate". I'd prefer to
> average the z-values in case there are identical x/y-values. Is that
> possible?
>
> If necessary for an answer I'll copy the short script below.
>
> Thanks for helping!
> Richard
>
> ----%----
>   #RM?u 5.2.2013, r.mueller at oeko-sorpe.de
> require(akima) 		# Das Paket akima wird ben?otigt, um
> 			# nicht vorhandene Punkte zu interpolieren# und einen sch?onen
> Farbgradienten hinzukriegen
> sorpe <- read.csv("bis_130204-korr.csv")
> pdf("sorpe.pdf") 	# Es wird nicht auf den Bildschirm gezeichnet,
> 			# sondern ein PDF-Dokument erstellt.
> zr <- range(290,220)	# Hier wird der Bereich f?ur die z-Werte# festgelegt:
>
> 			
> plot(ylim = c(7.9, 8), 	# Der Bereich der Achsen wird definiert
> xlim = c(51.30, 51.4),
> x ~ y, 			# Es soll ein x-y-Diagramm werden
> sorpe,
> 			# Aufruf der x-, y-, z-Tabelle
> pch = NA) 		# Die Punkte f?ur die x-y-Wertepaare sollen unsichtbar sein (?NA?)
> sorpe.li <- interp(sorpe$x, sorpe$y, sorpe$z)
> 			# Hier werden die fehlenden Punkte interpoliert
> image(sorpe.li, 	# In das Diagramm wird ein Rasterbild aus den
> interpolierten Werten gezeichnet
> zlim = zr, 		# Der vorher definierte Wertebereich wird aufgerufen
> col = rev(rainbow( 	# Ein in R vordefiniertes Farbmodell wird verwendet
> 30, start = 0, end = 8/12)),
> 			# mit 30 Farbabstufungen, die den z-Werten zugeordnet werden.
> add = TRUE) 		# Das Bild wird ?uber das bereits Vorhandene# gezeichnet
> contour(sorpe.li, 	# Isohypsen werden eingezeichnet
> add = TRUE)
> points(sorpe, 		# Die urspr?unglichen Messpunkte werden
> pch = 1) 		# eingezeichnet, und zwar als Kreise
>
>
>
>
>