-2
votes

Joindre et somme des colonnes ensemble r

J'ai un Dataframe: xxx pré>

Je veux rejoindre et résumer mes colonnes "F" et "F2" et le renommer dans "F_News" P>

Exemple:

df <- data.frame(ca = c("a","b","a","c","b", "b"),
                 f_new = c(3,9,6,1,12, 11),
             
                 f3 = c(3,0,6,3,0, 8))


4 commentaires

Que voulez-vous dire par rejoindre? Lorsque vous résumez et l'un des termes est Na, la somme est Na.


Bonjour, il est possible que je ne me disais pas bien. Je vais résumer ces deux colonnes et créer une autre colonne qui aurait l'information de cette somme, d'avoir le résultat comme dans l'exemple. Merci


Dupliqué possible de Sum deux colonnes dans R


Essayez rowsums (df [ c ("f", "f2")], na.rm = true) qui sera vraiment rapide et ne nécessite aucun emballage supplémentaire.


3 Réponses :


2
votes

Voici une réponse en utilisant Tidyverse des méthodes de dplyr et titsy xxx


0 commentaires

2
votes

dplyr peut le faire assez bien avec le code suivant. Bluswise vous permet de considérer chaque ligne séparément. Et la commande mutate résume toutes les colonnes que vous voulez. Le Na.rm = TRUE gère le problème lorsque vous avez NA et que vous voulez les ignorer. En tant que commentaire mentionné, si vous ne l'avez pas, cela vous donnera une NA si elle est dans l'une des valeurs de sommation.

library(dplyr)
df %>% 
  rowwise() %>% 
  mutate(f_new = sum(f,f2, na.rm = TRUE))


0 commentaires

2
votes

Utilisation Plyr code> et dplyr code> Vous pouvez le faire:

df %>% 
  rowwise() %>% 
  mutate(f_new=sum(f, f2, na.rm = T))

# A tibble: 6 x 5
#   ca     f    f2    f3   f_new
#  <fct> <dbl> <dbl> <dbl> <dbl>
#1   a     3    NA     3     3
#2   b     4     5     0     9
#3   a     0     6     6     6
#4   c    NA     1     3     1
#5   b     3     9     0    12
#6   b     4     7     8    11


0 commentaires