Funktion einschränken < Sonstige < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) überfällig | Datum: | 10:29 Mi 04.03.2015 | Autor: | Rocky14 |
Hallo ihr Lieben,
ich bastel immer noch an R rum und wollte mal fragen, ob es einen Befehl gibt, der eine Funktion auf ein bestimmtes Intervall eingrenzt.
Also konkret sieht es bei mir momentan so aus:
> #Bestimme Dichte der Daten mit Kerndichteschätzer
> BEST_CUT <- density(x,bw="nrd0", kernel = "gaussian")
> BEST_CUT
Call:
density.default(x = x, bw = "nrd0", kernel = "gaussian")
Data: x (141 obs.); Bandwidth 'bw' = 44.13
x y
Min. :-131.4 Min. :0.000e+00
1st Qu.:1394.7 1st Qu.:0.000e+00
Median :2920.8 Median :4.317e-06
Mean :2920.8 Mean :1.635e-04
3rd Qu.:4446.9 3rd Qu.:6.102e-05
Max. :5973.0 Max. :5.286e-03
>
> plot(BEST_CUT)
>
> #Bestimme das Minimum von BEST_CUT
> min_cut_score <- min(BEST_CUT$x)
> min_cut_score
[1] -131.4029
>
> #Lege Rauschlevel fest
> Nachricht <- "Bitte legen Sie das Rauschlevel fest"
> Vorgabe <- " "
> noise <- winDialogString(Nachricht,Vorgabe)
> noise
[1] " 0,0001"
Nun möchte ich die Funktion immer nur betrachten, wenn Sie über dem Rauschlevel liegt. Ich habe es schon mit einer if-Schleife versucht, aber ich bekomme als Ausgabe immer FALSE, obwohl man an dem Graphen erkennen kann, dass es nicht so sein dürfte.
> if (BEST_CUT > noise) {
+ print(BEST_CUT)
+ } else {
+ BEST_CUT = FALSE
+ }
Könnt ihr mir da weiter helfen? Das ganze hat auch mit meinem anderen Post zu tun: https://vorhilfe.de/forum/Optimal_Grid_Code/t1053034
Vielen Dank schonmal für eure Hilfe!
|
|
|
|
Status: |
(Frage) überfällig | Datum: | 12:47 Mi 04.03.2015 | Autor: | Rocky14 |
Ich habe es nun so probiert:
> [mm] ifelse(BEST\_CUT$y [/mm] > 0.002, [mm] BEST\_CUT$x, [/mm] FALSE)
[1] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[8] -47.780327055 -35.834249280 -23.888171505 -11.942093730 0.003984045 11.950061819 23.896139594
[15] 35.842217369 47.788295144 59.734372919 71.680450694 83.626528469 95.572606244 0.000000000
[22] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[29] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[36] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[43] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[50] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[57] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[64] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[71] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[78] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[85] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[92] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[99] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[106] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[113] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[120] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[127] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[134] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[141] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[148] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[155] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[162] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[169] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[176] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[183] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[190] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[197] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[204] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[211] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[218] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[225] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[232] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[239] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[246] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[253] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[260] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[267] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[274] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[281] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[288] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[295] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[302] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[309] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[316] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[323] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[330] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[337] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[344] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[351] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[358] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[365] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[372] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[379] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[386] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[393] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[400] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[407] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[414] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[421] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[428] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[435] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[442] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[449] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[456] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[463] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[470] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[477] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[484] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[491] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[498] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[505] 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000
[512] 0.000000000
Leider blicke ich bei der Ausgabe nicht so ganz durch. An den Stellen, wo die Zahlen sind, soll die Funktion nun also größer als 0,002 sein? Laut Graph müssten das aber noch ein paar mehr sein.
Zwischen dem CUT und dem y bzw. x soll ein Dollarzeichen stehen, aber das zeigt der irgendwie nicht an :(
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 13:08 Mi 04.03.2015 | Autor: | Rocky14 |
Ich habe es schon raus :D Man muss eingeben:
ifelse(BEST_CUT$y > Zahl & BEST_CUT$x > 0, BEST_CUT$x, FALSE)
Allerdings stehe ich nun vor folgendem Problem: Die Zahl wird immer von dem Benutzer vorgegeben. Wenn ich die Schleife mit Zahl durchlaufen lasse, erhalte ich ein anderes Ergebnis, als wenn ich für Zahl die konkrete Zahl, bspw. 5, eingebe. Ist das normal? Kann ich das irgendwie ändern?
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 13:20 Fr 06.03.2015 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:20 Fr 06.03.2015 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|