J'ai un data.frame Par conséquent, ma «puissante> Sortie souhaitée forte> est de savoir combien des études ont seulement voici ce que je essayé mais sans succès: p> sous-ensemble () Code> J'essaie de sortir
Etude.Names code> (une colonne dans le fichier data.frame) qui n'ont que
1 code> S pour variable
post code> et non
2 code> ou
3 code>.
post == 1 code>, sans
post == 2 code> ou
3 code>. p>
3 Réponses :
Si vous recherchez uniquement les enregistrements Ceci reviendrait p> Le nombre d'études que 1 valeurs est alors: p> 1 CODE> 1 CODE>, vous pouvez vérifier si le nombre de
1 code> éléments dans
post code> égal du nombre de lignes d'un
data.frame code>.
uniquement_1 <- SOPLLY (m, fonction (x) somme (x $ post == 1) == nrow (x)) code > p>
Votre premier problème est que sous-ensemble code> ne fonctionne pas sur des listes telles que vous vous attendez à ce que vous vous attendez.
D %>% group_by(study.name) %>% summarise(only_1=all(post==1))
# study.name only_1
# <fct> <lgl>
# 1 "" NA
# 2 Bit.KnoA FALSE
# 3 Bit.KnoB FALSE
# 4 ChandlerA TRUE
# 5 Mubarak FALSE
# 6 Sheen FALSE
# 7 Shin.Ellis FALSE
# 8 Trus.Hsu TRUE
D %>% group_by(study.name) %>% summarise(only_1=all(post==1)) %>% summarise(tot=sum(only_1, na.rm = T))
# A tibble: 1 x 1
# tot
# <int>
# 1 2
Existe-t-il un moyen d'utiliser sous-ensemble code> par hasard?
sous-ensemble code> est utilisé pour filtrer les données.frames, vecteurs ou matrices, mais pas les listes. Vous pourriez le faire, mais il serait compliqué et nécessiterait toujours un
* Appliquer code> fonction avec une logique supplémentaire.
la manière dont vous utilisez le sous-ensemble code> code> recherche un objet nommé Un moyen facile de le faire consiste à construire une condition logique avec POST code> dans votre environnement global, mais cela n'existe pas car il est juste une colonne dans le Données.
sapply code> Utilisation de la fonction
Toutes code>, puis sous-ensemble la liste de la manière suivante: p> < Pré> xxx pré> p>
df code> est le nom de l'argument de la fonction, il devrait définitivement exécuter