Ich habe eine Frage über die Codierung vor wenigen Tagen (Need help code mock sampling). Ich habe bemerkt, dass es zu viel Kontext gibt. Also, von der Post ausgehend, minimiere ich meine Frage. Jede Rückmeldung wird sehr geschätzt.Need hilft bei der Codierung (Text minimiert)
Ich habe Zufallszahl wie folgt aus:
pass.theo <- c(2,4,12,13,14,19,21,27,30,31,32,35,36,38,41,44,49,50,52,57,59,60,61,63,65,68,79,80,86,92,96,100)
Beginn der ersten Zahl (dh 2) in diesem speziellen Fall würde Ich mag eine Zahl finden, die die erste Zahl, die 5 oder mehr ist als vorherige Elemente (dh 2). In diesem Fall ist die Nummer 12. Und dann von der Nummer 12, ich möchte eine andere erste Nummer finden, die 5 oder größer als ist und bis zum Ende fortfahren. Mit der obigen Nummer habe ich diesen Code manuell generiert, benötige jedoch Code für die Durchführung im Allgemeinen.
tf <- c(
pass.theo[2]-pass.theo[1] > 5, #
pass.theo[3]-pass.theo[1] > 5, # select
pass.theo[4]-pass.theo[3] > 5, #
pass.theo[5]-pass.theo[3] > 5, #
pass.theo[6]-pass.theo[3] > 5, # select
pass.theo[7]-pass.theo[6] > 5, #
pass.theo[8]-pass.theo[6] > 5, # select
pass.theo[9]-pass.theo[8] > 5,
pass.theo[10]-pass.theo[8] > 5,
pass.theo[11]-pass.theo[8] > 5,
pass.theo[12]-pass.theo[8] > 5, # select
pass.theo[13]-pass.theo[12] > 5,
pass.theo[14]-pass.theo[12] > 5,
pass.theo[15]-pass.theo[12] > 5, # select
pass.theo[16]-pass.theo[15] > 5,
pass.theo[17]-pass.theo[15] > 5, # select
pass.theo[18]-pass.theo[17] > 5,
pass.theo[19]-pass.theo[17] > 5,
pass.theo[20]-pass.theo[17] > 5, # select
pass.theo[21]-pass.theo[20] > 5,
pass.theo[22]-pass.theo[20] > 5,
pass.theo[23]-pass.theo[20] > 5,
pass.theo[24]-pass.theo[20] > 5, # select
pass.theo[25]-pass.theo[24] > 5,
pass.theo[26]-pass.theo[24] > 5,
pass.theo[27]-pass.theo[24] > 5, # select
pass.theo[28]-pass.theo[27] > 5,
pass.theo[29]-pass.theo[27] > 5, # select
pass.theo[30]-pass.theo[29] > 5, # select
pass.theo[31]-pass.theo[30] > 5,
pass.theo[32]-pass.theo[30] > 5 # select
)
tf
passes <- c(pass.theo[1], pass.theo[-1][tf])
expected.select <- ifelse(pass.theo %in% passes, 'select', 'drop')
cbind(pass.theo, expected.select)
pass.theo expected.select
# [1,] "2" "select"
# [2,] "4" "drop"
# [3,] "12" "select"
# [4,] "13" "drop"
# [5,] "14" "drop"
# [6,] "19" "select"
# [7,] "21" "drop"
# [8,] "27" "select"
# [9,] "30" "drop"
#[10,] "31" "drop"
#[11,] "32" "drop"
#[12,] "35" "select"
#[13,] "36" "drop"
#[14,] "38" "drop"
#[15,] "41" "select"
#[16,] "44" "drop"
#[17,] "49" "select"
#[18,] "50" "drop"
#[19,] "52" "drop"
#[20,] "57" "select"
#[21,] "59" "drop"
#[22,] "60" "drop"
#[23,] "61" "drop"
#[24,] "63" "select"
#[25,] "65" "drop"
#[26,] "68" "drop"
#[27,] "79" "select"
#[28,] "80" "drop"
#[29,] "86" "select"
#[30,] "92" "select"
#[31,] "96" "drop"
#[32,] "100" "select"
Ich möchte das erste Element immer einschließen und wählen Sie tf == TRUE aus dem Rest von pass.theo.
passes
Gibt es eine Möglichkeit, eine Funktion höher zu machen?
Vielen Dank im Voraus !!!
*“ finde Zahlen th bei sind 5 oder größer als die vorherigen Elemente "* wäre einfach" diff (pass.theo)> 5 ", aber das stimmt nicht mit Ihrem Code überein. Klingt wie Ihre Logik ist ein bisschen komplizierter als das. – r2evans
So scheint es, dass der Index, der subtrahiert wird, sich ändert, wenn eine Berechnung TRUE zurückgibt. –
Danke für Kommentare. Ich habe versucht, oben mehr zu klären. Zum Beispiel, wenn ich eine erste Zahl (d. H. 12) finde, die 5 oder größer als die Zahl 2 ist. Dann möchte ich sie aus der Zahl 12 wiederholen, so dass die nächste Zahl 19 usw. ist. – Steve