dplyr - à l'aide de muter() comme rowmeans()

Je ne trouve la réponse nulle part.

Je voudrais calculer une nouvelle variable de bloc de données qui est basée sur la moyenne des lignes.

Par exemple:

data <- data.frame(id=c(101,102,103), a=c(1,2,3), b=c(2,2,2), c=c(3,3,3))

Je veux utiliser muter pour faire de la variable d qui est la moyenne de a,b et c. Et je voudrais être en mesure de les mettre en sélectionnant les colonnes de la manière d=mean(a,b,c), et aussi j'ai besoin d'utiliser la gamme de variables (comme dans dplyr) d=mean(a:c).

Et bien sûr

mutate(data, c=mean(a,b)) 

ou

mutate(data, c=rowMeans(a,b)) 

ne fonctionne pas.

Pouvez-vous me donner quelques conseil?

Ce qui concerne

  • rowMeans est pour une matrice, pas un vecteur de args. Je vous suggère de data %>% mutate(c = Reduce("+",.)/length(.))
  • Merci ça fonctionne, mais comment choisir uniquement des lignes spécifiques (par ex. p1 à p32)? Et la façon de traiter avec NAs?
  • Pourriez-vous modifier votre question pour illustrer ce que tu veux dire?
  • Ok, je l'ai fait. Il est clair maintenant? 😉