R Se altre condizioni
IL if-istruzione solo nel linguaggio di programmazione ci dice che se una condizione è vera eseguirà un blocco di istruzioni e se la condizione è falsa non lo farà. Ma cosa succede se vogliamo fare qualcos'altro se la condizione è falsa? Ecco che arriva il Linguaggio di programmazione R altra dichiarazione . Possiamo usare l'istruzione else con l'istruzione if per eseguire un blocco di codice quando la condizione è falsa.
Sintassi dell'istruzione if-else in linguaggio R
if (condition) { # code to be executed if condition is TRUE } else { # code to be executed if condition is FALSE }
if-else in R
Funzionamento delle istruzioni if-else nella programmazione R
- Il controllo rientra nel blocco if.
- Il flusso passa a Condizione.
- La condizione è testata.
- Se la condizione è vera, vai al passaggio 4.
- Se la condizione restituisce false, vai al passaggio 5.
- Viene eseguito il blocco if o il corpo all'interno dell'if.
- Viene eseguito il blocco else o il corpo all'interno dell'else.
- Il flusso esce dal blocco if-else.
Istruzione if-else del diagramma di flusso in R
R – istruzione if-else
Condizioni e dichiarazioni If
Qui mostreremo l'uso delle condizioni logiche nelle istruzioni if. Regolare i valori e le condizioni secondo necessità per i nostri requisiti specifici.
| Senso | Operatore | Esempio |
|---|---|---|
| Pari | == | x == y |
| Non uguale | != | x!= y |
| Più grande di | > | a> b |
| Meno di | < | X |
| Maggiore o uguale a | >= | x>= y |
| Minore o uguale a | <= | x <= y |
Funzione Ifelse nella programmazione R
R
x <- 5> > # Check value is less than or greater than 10> if> (x>10)> {> > print> (> paste> (x,> 'is greater than 10'> ))> }> else> {> > print> (> paste> (x,> 'is less than 10'> ))> }> |
Produzione
[1] '5 is less than 10'
Qui nel codice sopra, in primo luogo, x viene inizializzato su 5, quindi viene verificata la condizione if (x> 10) e restituisce false. Flow entra nel blocco else e stampa l'istruzione 5 è minore di 10.
Funzione Ifelse nella programmazione R
R
x <- 5> # Check if value is equal to 10> if> (x == 10)> {> > print> (> paste> (x,> 'is equal to 10'> ))> }> else> {> > print> (> paste> (x,> 'is not equal to 10'> ))> }> |
Produzione
[1] '5 is not equal to 10'
Istruzione if-else nidificata in R
Le istruzioni if-else in R possono essere annidate insieme per formare un gruppo di istruzioni e valutare le espressioni in base alle condizioni una per una, iniziando rispettivamente dalla condizione esterna a quella interna. Un'istruzione if-else all'interno di un'altra istruzione if-else in R giustifica meglio la definizione.
Sintassi
if(condition1){ # execute only if condition 1 satisfies if(condition 2){ # execute if both condition 1 and 2 satisfy } }else{ } Funzione Ifelse nella programmazione R
R
# define a variable> x <- 15> # check the value of x using nested if-else statements> if> (x <10) {> > # if x is less than 10> > print> (> 'x is less than 10'> )> }> else> {> > # if x is greater than or equal to 10> > if> (x <20) {> > # if x is less than 20> > print> (> 'x is between 10 and 20'> )> > }> else> {> > # if x is greater than or equal to 20> > print> (> 'x is greater than or equal to 20'> )> > }> }> |
Produzione
[1] 'x is between 10 and 20'
- In questo esempio, definiamo prima una variabile x con il valore 15.
- Quindi utilizziamo un'istruzione if-else nidificata per verificare il valore di x.
- L'istruzione if-else esterna controlla se x è inferiore a 10. Se lo è, stampiamo il messaggio x è inferiore a 10. Se x non è inferiore a 10, passiamo all'istruzione if-else annidata all'interno del blocco else .
- Questa istruzione if-else annidata controlla se x è inferiore a 20. Se lo è, stampiamo il messaggio x è compreso tra 10 e 20. Se x non è inferiore a 20, stampiamo il messaggio x è maggiore o uguale a 20. Poiché x è 15, il codice stamperà x se è compreso tra 10 e 20.
Funzione Ifelse nella programmazione R
R
# define variables for grades and income> grades <- 85> income <- 25000> # check eligibility for scholarship using nested if-else statements> if> (grades>= 80) {> > # if grades are 80 or above> > if> (income <= 30000) {> > # if income is 30,000 or less> > print> (> 'Congratulations, you are eligible for a scholarship!'> )> > }> else> {> > # if income is more than 30,000> > print> (> 'Sorry, your income is too high to qualify for a scholarship.'> )> > }> }> else> {> > # if grades are below 80> > print> (> 'Sorry, your grades are too low to qualify for a scholarship.'> )> }> |
Produzione
[1] 'Congratulations, you are eligible for a scholarship!'
- In questo esempio, definiamo innanzitutto due variabili, voti e reddito, per rappresentare rispettivamente i voti e il reddito di uno studente.
- Quindi utilizziamo un'istruzione if-else annidata per verificare se lo studente ha diritto a una borsa di studio.
- L'istruzione if-else esterna controlla se i voti dello studente sono 80 o superiori. Se lo sono, passiamo all'istruzione if-else annidata all'interno del blocco if. Questa istruzione if-else annidata controlla se il reddito dello studente è pari o inferiore a 30.000.
- Se lo è, stampiamo il messaggio Congratulazioni, hai diritto a una borsa di studio! Se il reddito dello studente è superiore a 30.000, stampiamo il messaggio Siamo spiacenti, il tuo reddito è troppo alto per beneficiare di una borsa di studio. Se i voti dello studente sono inferiori a 80, stampiamo il messaggio Siamo spiacenti, i tuoi voti sono troppo bassi per qualificarti per una borsa di studio.
- Questa dichiarazione if-else annidata può essere ampliata per includere condizioni aggiuntive, come la residenza o lo stato di iscrizione, per determinare l'idoneità alla borsa di studio.