2017-08-03 2 views
0
# The Old Faithful geyser data 
d <- density(faithful$eruptions, bw = "sj") 
> head(d$x) 
[1] 1.179869 1.188363 1.196857 1.205350 1.213844 1.222338 

Ich verwende density Funktion in {stats}, und ich frage mich, ob es möglich ist Dichte bei bestimmten Werten in der Ausgabe zu sehen? Zum Beispiel habe ich derzeit Dichteabschätzungen bei Eruptionswerten von [1] 1.179869 1.188363 ..., aber was ist, wenn ich die Dichteabschätzungen bei Eruptionswerten 1 2 5 10 ... wissen möchte? Gibt es eine Möglichkeit, diese density Objekt, d zu extrahieren?R: Wie erhalten spezifische Dichte schätzt

+0

Sie könnten 'interp' auf dem 'X' und 'Y' Komponenten des zurückgegebenen Objekts verwenden ... –

+0

suchen Sie etwas wie folgt aus:' x <- 2; ungefähr (d $ x, d $ y, xout = x) '? – AK88

+0

Wenn Sie meinen, dass Sie die X-Werte an einer bestimmten Stelle im Datensatz extrahieren möchten, können Sie einfach 'd $ x [3]' für einen dritten Wert verwenden. oder 'd $ y [5]' für den fünften Ort y Ergebnis, können Sie jeden gewünschten Wert auf diese Weise extrahieren. – sconfluentus

Antwort

0

Wenn ich Sie richtig verstehe, wollen Sie die Wahrscheinlichkeiten, wo der x-Wert gleich einer Zahl ist (3 oder 4 wie in meiner Lösung)?

d <- density(faithful$eruptions, bw = "sj") 
densityDF <- data.frame(xVals = d$x, prob = d$y) 
densityDF$xVals <- round(densityDF$xVals) 

densitySearch <- densityDF[densityDF$xVals %in% c(3,4),] 

Ergebnis:

xVals  prob 
157  3 0.11229482 
158  3 0.10721410 
159  3 0.10230912 
160  3 0.09765156 
161  3 0.09318662 
162  3 0.08891621