Plusieurs Instructions if dans la R
J'ai essayé de comprendre cela tous les jours, mais en vain.
J'ai une instruction if qui est destiné à satisfaire quatre conditions possibles.
- Un existe et B n'existe pas
- B existe et n'existe pas
- A & B existent
- A & B n'existent pas
A, B, C sont dataframes.
Voici mon code:
if (!exists("A") & exists("B")) {
C= B}
else if (exists("A") & !exists("B")) {
C= A}
else if (exists("A") & exists("B")) {
C= rbind(B,A)}
else {C <- NULL}
Je reçois un message d'erreur sur l'inattendu "}" et inattendu "autre chose".
J'ai suivi plusieurs exemples, mais toujours face à ce défi. Tous les pointeurs serait très apprécié. Thx.
- double possible de if - else if - else et entre crochets
- vous êtes tester la même chose plusieurs fois. Vous pouvez plutôt ne
if(exists("A")) { if(exits("B")) {C <- rbind(B, A)} else {C <- A} } else {if(exits("B")) {C <- B} else { C <- NULL} }
ou mêmeokA <- exists("A") ; okB <- exists("B")
et les utiliser dans la ligne ci-dessus - vous pouvez aussi de cas d'utilisation de la fonction pour éviter les multiples if/else
Vous devez vous connecter pour publier un commentaire.
essayer cette
Une solution simple est d'utiliser une instruction composée enveloppé dans des accolades, en mettant la
else
sur la même ligne que l'accolade fermante qui marque la fin de l'instruction, comme ci-dessous:Si votre
if
déclaration n'est pas dans un bloc, leselse
instruction doit apparaître sur la même ligne que la fin destatement 1
ci-dessus. Sinon, la nouvelle ligne à la fin destatement 1
complète leif
et donne un point de vue syntaxique complète de déclaration qui est ensuite évalué.Ci-dessus est plus ou moins une citation de la section 3.2.1. dans la R de définition de langue (http://cran.r-project.org/doc/manuals/R-lang.pdf). Espérons que cela aide 🙂
if
s sont à l'intérieur d'une fonction.