Je n'essaie pas de résoudre un problème particulier, mais essayez d'apprendre R et de comprendre son opérateur de négation logique "!" Documenté à la page http: //stat.éthz. CH / R-Manuel / R-Devel / Bibliothèque / Base / HTML / LOGIC.HTML
Cela fonctionne pour moi lorsqu'il est utilisé en combinaison avec =, dans des expressions telles que: P>
Error in !x : invalid argument type
3 Réponses :
Tout d'abord, il est probablement préférable de ne pas penser à en général, où ! = code> comme
! code> active sur
= code>, mais plutôt comme un opérateur binaire séparé.
! code> ne doit être appliqué qu'aux vecteurs booléens. Donc, c'est probablement plus comme ce que vous êtes après: p>
noms (L)% in% x code> retourne un vecteur booléen le long des noms de La liste
l code> indiquant si elles sont contenues dans
x code> ou non. Enfin, j'ai évité l'utilisation de la liste
code> comme une variable, car vous pouvez le voir également une fonction assez courante. P> P>
Joran, merci beaucoup pour des éclaircissements et des explications, tout est logique pour moi maintenant.
Tout d'abord, je pense que le second, le car les chiffres peuvent être contraints à logiques, il peut également être appliqué à un vecteur numérique. Dans ce cas, Dans votre exemple, vous essayez d'appliquer cet opérateur logique à une chaîne de caractères, qui soulève une erreur. P> Si vous souhaitez sous-ensemble listes, cadres de données ou vecteurs par noms, indices ou conditions, Vous devriez lire et apprendre davantage sur la partie d'indexation de la langue R, décrite dans les manuels R et la plupart des livres et documents d'introduction. p> Un moyen de sous-ensemble Une liste par noms pourrait être, par exemple: p> ! code> dans
! = code> n'est pas le
! code> opérateur. C'est un opérateur distinct,
! = Code>, ce qui signifie "différent de".
! Code> L'opérateur est logique, la négation logique, et il doit être appliqué sur un vecteur logique: p>
0 code> sera considéré comme
faux code> Â et toute autre valeur que
true code>: p>
Je suis d'accord avec tout ce qui a dit par les deux autres affiches, mais je veux ajouter une autre chose que je dis toujours lorsque l'enseignement de R.
r fonctionne en ce sens qu'il évalue des déclarations de l'intérieur à l'extérieur et de chacune de ces déclarations courir dessus. Si vous avez déjà une erreur dans une déclaration intérieure, rien ne me demande que les extorieurs ne produisent rien. P>
Dans votre cas, on pourrait dire que vous avez deux déclarations: Si vous reproduisez le comportement de R, vous remarquez que ! X code> et liste d'accès sur
list code> via
[ code>. p>
! x code> produit déjà l'erreur suivante: P>
> !x
Error in !x : invalid argument type