la sélection de lignes dont la valeur de la variable est égale à certaines vecteur
J'ai longitudinale de données appelée df
pour plus de 1000 personnes qui se présente comme suit:
id year name status
1 1984 James 4
1 1985 James 1
2 1983 John 2
2 1984 John 1
3 1980 Amy 2
3 1981 Amy 2
4 1930 Jane 4
4 1931 Jane 5
Je suis en train de créer un sous-ensemble de données par certains id
. Par exemple, j'ai un vecteur dd
qui se compose de id
s que je voudrais sous-ensemble:
dd<-c(1,3)
J'ai essayé ce qui suit, mais il n'a pas de travail, par exemple:
subset<-subset(df, subset(df$id==dd))
ou
subset<-subset(df, subset(unique(df$id))==dd))
ou
subset<-df[which(unique(df$id)==dd),]
ou j'ai essayé avec une boucle for
for (i in 1:2){
subset<-subset(df, subset=(unique(df$id)==dd[i]))
}
Y aurait-il un moyen de sélectionner uniquement les lignes avec les id
s qui correspondent aux numéros dans le vecteur dd
?
- Ce n'est pas une bonne idée d'appeler votre sous-ensemble
subset
que c'est le nom d'une fonction.
Vous devez vous connecter pour publier un commentaire.
Utilisation
%in%
et logique d'indexation:Comme alternative, vous pouvez utiliser 'dplyr' un nouveau paquet (auteur: Hadley Wickham ), qui offre une hyper rapide ensemble d'outils permettant de manipuler des ensembles de données.