sélectionnez uniquement les lignes si sa valeur dans une colonne particulière est inférieure à sa valeur dans l'autre colonne
Je suis à l'aide de R et de la nécessité de sélectionner des lignes avec l'âge (l'âge de la mort) est inférieure ou égale à laclen (durée de la lactation). Je suis en train de créer un nouveau bloc de données pour inclure uniquement les lignes/id dont la valeur de la colonne'aged "est inférieure à son correspondant" laclength valeur.
df:
id1 id2 laclen aged
9830 64526 26 6
7609 64547 28 0
9925 64551 3 0
9922 64551 3 5
9916 64551 3 8
9917 64551 3 8
9914 64551 3 2
le nouveau bloc de données devrait ressembler à ceci:
dfnew:
id1 id2 laclen aged
9830 64526 26 6
7609 64547 28 0
9925 64551 3 0
9914 64551 3 2
Toute aide serait appréciée!
Bazon
- Veuillez donner plus de détails au sujet de votre besoin.
- de ne pas obtenir de vous, à tous les
- Salut Karthik, je suis en train de créer un nouveau bloc de données pour inclure uniquement les lignes/id dont la valeur de la colonne'aged "est inférieure à la valeur de la colonne "laclength'
Vous devez vous connecter pour publier un commentaire.
Devrait faire l'affaire. Les crochets vous permettent de l'indice est basé sur une expression logique.
detach
pourrait être dangereux... Et je pense que la virgule est mal placée.detach
et placé une virgule après la parenthèse droite, il va comme ceci:attach(df); newdf <- df[which(aged <= laclen), ]; detach(df)
with
-newdf <- df[with(df,which(aged <= laclen)), ]
au lieu deattach/detach
.Error in Ops.factor(value, productcode) : level sets of factors are different
, avait pour définir les niveaux sur ces champs: stackoverflow.com/questions/24594981/...Vous pouvez également faire
R CMD check
ne reconnaît pas les champs utilisés dans le test comme légitime variables. il émet unNOTE
"non visible de liaison pour la variable globale".subset()
a des problèmes graves, voir par exemple stackoverflow.com/questions/9860090/...Si vous utilisez
dplyr
package que vous pouvez faire: