2016-10-10 2 views
0

Ich habe einen DatenrahmenKonvertieren von Datenrahmen zu ppp-Objekt spatstat Paket

df <- data.frame(x = rep(seq(1:10), 10), y = rep(seq(1:10), each = 10), diameter = rnorm(100, 0.3, 0.03), height = rnorm(100, 0.2, 001)) 

, die ich mit Hilfe der ppp von spatstat Paket an die ppp Datei konvertieren möchten. Ich möchte, dass die diameter und height Variablen sind marks und ich kann dies nicht tun. Ich probierte das zB

pp1<-ppp(df$x, df$y, marks = data.frame(df %>% select(diameter, height))) 

aber funktioniert nicht.

Der Ausgang I ähnlich haben wollen finepines in die Datendatei, die

> finpines 
Marked planar point pattern: 126 points 
Mark variables: diameter, height 
window: rectangle = [-5, 5] x [-8, 2] metres 
+0

Bitte erarbeiten Sie ein wenig mehr auf Ihre Aussage "aber funktioniert nicht". Vielen Dank. – nilsole

+0

Die in meiner Antwort beschriebene Warnmeldung war zuvor ein Thema: http://stackoverflow.com/questions/18025517/point-patterns-in-spatstat#comment26367832_18025517 – nilsole

Antwort

3

Sie müssen die Beobachtungsfenster definieren, bevor Sie ppp ein ebenes Punktmuster definieren können, da wir beide, wo und beobachteten Punkte wissen müssen, wo es keine war Punkte. Z.B. Die Intensität des Prozesses ist die durchschnittliche Anzahl der Punkte pro Gebiet, so dass wir das Gebiet der Untersuchungsregion kennen müssen.

In Ihrem Beispiel nehme ich an, dass die Untersuchungsregion (Beobachtungsfenster) [0, 11] x [0, 11] ist. Dann können Sie tun:

library(spatstat) 
df <- data.frame(x = rep(seq(1:10), 10), 
       y = rep(seq(1:10), each = 10), 
       diameter = rnorm(100, 0.3, 0.03), 
       height = rnorm(100, 0.2, 001)) 
W <- owin(c(0, 11), c(0,11)) 
pp1 <- as.ppp(df, W = W) 
0

zum spatstat Paket angebracht ist, du versuchen können, aber ich kann nicht beurteilen, ob Sie diese Warnung nicht annehmen können:

Warnmeldung: In ppp (df $ x, df $ y, Noten = data.frame (df%>% wählen (Durchmesser, Höhe))): 99 Punkte wurden außerhalb des angegebenen Fenster abgelehnt, da liegend

library(spatstat) 
library(dplyr) 
df <- data.frame(x = rep(seq(1:10), 10), y = rep(seq(1:10), each = 10), diameter = rnorm(100, 0.3, 0.03), height = rnorm(100, 0.2, 001)) 
pp1<-ppp(df$x, df$y, marks = data.frame(df %>% select(diameter, height))) 

Die Ausgabe lautet:

> pp1 
Marked planar point pattern: 1 point 
Mark variables: diameter, height 
window: rectangle = [0, 1] x [0, 1] units 
*** 99 illegal points stored in attr(,“rejects”) *** 
Verwandte Themen