Angenommen, ich möchte, dass ein Benutzer meines R-Programms eine positive Zahl eingibt.
Wenn er eine negative Zahl eingibt oder ein beliebiges Alphabet tippt (a, b, c, d, usw.), würde ich ihn so lange versuchen lassen, bis er die gewünschte positive Zahl eingibt.
Wie prüfe ich, ob er ein Zeichen (a, b, c usw.) eingibt?
Zum Beispiel, wenn ich habe: (In der Tat jemand auf dieser Website half mir, diesen Code richtig zu schreiben, aber ich verstehe nicht, bestimmte Dinge vor allem, die dritte Zeile, wie ich angegeben habe "#explanation of this line"
im Code
n <- -1
while(is.na(n) | (n < 1) ){
n <- readline("enter a positive integer for the number of simulations: ")
n <- ifelse(grepl("\\D",n),-1,as.integer(n)) #explanation of this line
}
FRAGEN:
-
Ich weiß, dass
is.na(n)
bedeutet, wenn n Null ist (nicht verfügbar), wenn der Benutzer also die Eingabetaste drücktis.na(n)
wirdTRUE
. Ist das richtig? -
was ist die Bedeutung von:
n <- ifelse(grepl("\\D",n),-1,as.integer(n)
? -
Wie prüfe ich, ob der Benutzer (a, b, c, d, ...) eingibt?
Danke an alle, die mir helfen können.
Owusu Isaac