Dans ce didacticiel R, nous verrons comment renvoyer l'index d'un élément particulier dans le vecteur, la liste et dans DataFrame.
Il existe deux fonctions qui sont utiles pour trouver un indice de particularité basé sur la condition ou l'expression.
Nous en discuterons un par un dans chaque structure de données.
Quelle fonction ()
La fonction qui () est utilisée pour renvoyer l'indice d'un élément basé sur la condition ou l'expression spécifiée à l'intérieur.
Syntaxe
qui (condition / expression)
Il prend la condition ou l'expression en tant que paramètre.
Il est également possible de spécifier les multiples conditions à l'intérieur.
Exemple 1
Dans cet exemple, nous créons un vecteur avec 10 éléments numériques et:
- Renvoie l'index de 45 en appliquant la condition - vector_object == 45.
- Renvoyez les indices d'éléments supérieurs à 90 en appliquant la condition - Vector_Object> 90.
- Renvoyez les indices d'éléments supérieurs à 90 et égaux à 95 en appliquant la condition - Vector_Object> 90 & Vector_Object == 95.
#Create Vector for Fruits
Fruits = C (23,45,67,8,90,123,45,95,789,54)
Imprimer (fruits)
#return index pour la valeur est 45
Imprimer (qui (fruits == 45))
#return Indices pour des valeurs supérieures à 90
Imprimer (qui (fruits> 90))
#return Indices pour des valeurs supérieures à 90 et égales à 95
Imprimer (qui (Fruits> 90 & Fruits == 95))
Résultat
Pour la première condition, aux 2e et 7e positions, 45 se produisent.
Pour la deuxième condition, aux 6e, 8e et 9e positions, les valeurs sont supérieures à 90. Pour la troisième condition, à la 8e position, la valeur est supérieure à 90 et est égale à 95.
Exemple 2
Dans cet exemple, nous créons une liste avec 10 éléments numériques et:
- Renvoie l'index de 45 en appliquant la condition - list_object == 45
- Renvoyez les indices d'éléments supérieurs à 90 en appliquant la condition - list_object> 90.
- Renvoyez les indices d'éléments supérieurs à 90 et égaux à 95 en appliquant les conditions - list_object> 90 & list_object == 95.
#Create List pour les fruits
Fruits = liste (23,45,67,8,90,123,45,95,789,54)
#return index pour la valeur est 45
Imprimer (qui (fruits == 45))
#return Indices pour des valeurs supérieures à 90
Imprimer (qui (fruits> 90))
#return Indices pour des valeurs supérieures à 90 et égales à 95
Imprimer (qui (Fruits> 90 & Fruits == 95))
Résultat
Pour la première condition, aux 2e et 7e positions, 45 se produisent.
Pour la deuxième condition, aux 6e, 8e et 9e positions, les valeurs sont supérieures à 90. Pour la troisième condition, à la 8e position, la valeur est supérieure à 90 et égale à 95.
Exemple 3
Dans cet exemple, nous créons une dataframe avec 10 éléments numériques dans les deux colonnes et:
- Renvoyez l'indice de 45 en appliquant la condition - Market_id (colonne) == 45.
- Renvoyez les indices d'éléments supérieurs à 90 en appliquant la condition - Market_id (colonne)> 90.
- Renvoyez les indices d'éléments supérieurs à 90 et égaux à 95 en appliquant les conditions - Market_id (colonne)> 90 & Market_id (colonne) == 95.
- Renvoyez l'indice de 45 en appliquant la condition - Market_Area (colonne) == 45.
- Renvoyez les indices d'éléments supérieurs à 90 en appliquant la condition - Market_Area (colonne)> 90.
- Renvoyez les indices d'éléments supérieurs à 90 et égaux à 95 en appliquant les conditions - Market_Area (colonne)> 90 & Market_id (colonne) == 95.
#create dataframe pour les fruits
fruits = données.cadre (Market_ID = C (23,45,67,8,90,123,45,95,789,54), Market_Area = C (200,456,78,567,89,76,345,678,95,456)))
Imprimer (fruits)
#return index pour la valeur est de 45 dans la colonne Market_ID
Imprimer (qui (fruits $ market_id == 45))
#return Indices pour des valeurs supérieures à 90 dans la colonne Market_ID
Imprimer (qui (fruits $ market_id> 90))
#return Indices pour des valeurs supérieures à 90 et égales à 95 dans la colonne Market_ID
Imprimer (qui (fruits $ market_id> 90 & fruits $ market_id == 95))
#return index pour la valeur est de 45 dans la colonne Market_Area
imprimer (qui (fruits $ market_area == 45)))
#return Indices pour des valeurs supérieures à 90 dans la colonne Market_Area
Imprimer (qui (fruits $ market_area> 90))
#return Indices pour des valeurs supérieures à 90 et égales à 95 dans la colonne Market_Area
Imprimer (qui (fruits $ market_area> 90 & fruits $ market_area == 95)))
Résultat
Tous les indices ont été retournés en fonction de la condition. Mais dans la 5e condition, aucun élément n'existe. Par conséquent, il est revenu à Integer (0).
Fonction Match ()
La fonction Match () est utilisée pour renvoyer l'index d'un élément basé sur la valeur spécifiée comme le premier paramètre et le deuxième paramètre est le nom de l'objet. Si un élément n'est pas trouvé, il reviendra à Na.
Syntaxe
Match (élément, objet)
Où l'objet fait référence au vecteur, à la liste et à la dataframe.
Exemple 1
Dans cet exemple, nous créons un vecteur de fruits avec 10 éléments et vérifiant 45, 90 et 960.
#Create Vector for Fruits
Fruits = C (23,45,67,8,90,123,45,95,789,54)
Imprimer (fruits)
#return index pour la valeur est 45
Impression (match (45, fruits))
#return index pour la valeur est 90
Impression (match (90, fruits))
#return index pour la valeur est 960
Impression (match (960, fruits))
Résultat
Nous pouvons voir que 45 est disponible en 2e position, 90 est disponible en 5e position et 960 n'est pas disponible. Alors il est retourné na.
Exemple 2
Dans cet exemple, nous créons une liste de fruits avec 10 éléments et vérifiant 45, 90 et 960.
#Create List pour les fruits
Fruits = liste (23,45,67,8,90,123,45,95,789,54)
#return index pour la valeur est 45
Impression (match (45, fruits))
#return index pour la valeur est 90
Impression (match (90, fruits))
#return index pour la valeur est 960
Impression (match (960, fruits))
Résultat
Nous pouvons voir que 45 est disponible en 2e position, 90 est disponible en 5e position et 960 n'est pas disponible. Alors il est retourné na.
Exemple 3
Dans cet exemple, nous créons un fruit DataFrame qui a une colonne Market_ID avec 10 éléments et vérifiant 45, 90 et 960 dans cette colonne.
#create dataframe pour les fruits
fruits = données.cadre (Market_ID = C (23,45,67,8,90,123,45,95,789,54))
Imprimer (fruits)
#return index pour la valeur est de 45 dans la colonne Market_ID
Imprimer (match (45, fruits $ market_id))
#return index pour la valeur est de 90 dans la colonne Market_ID
Imprimer (match (90, fruits $ market_id))
#return index pour la valeur est de 960 dans la colonne Market_id
Imprimer (match (960, fruits $ market_id))
Résultat
Nous pouvons voir que 45 est disponible en 2e position, 90 est disponible en 5e position et 960 n'est pas disponible. Il a donc retourné NA dans la colonne Market_ID.
Conclusion
Dans ce didacticiel R, nous avons vu comment renvoyer un index en utilisant les fonctions qui () et match (). La fonction () renvoie l'index / les indices en prenant la condition ou l'expression en tant que paramètre. Si la condition échoue, il revient à Integer (0). Tandis que la fonction Match () prend une valeur et renvoie l'index s'il est trouvé, sinon Na est renvoyé. Pour toutes ces fonctions, nous avons donné les exemples sur le vecteur, la liste et le dataframe.