J'ai un peu de données similaire à celui ci-dessous (DF). Je dois ajouter une nouvelle colonne indiquant le rapport de la plus grande valeur de chaque ligne (= la plus grande valeur de la ligne divisée par la somme de toutes les valeurs de la rangée). La sortie devrait ressembler au DF1. merci! p> p>
4 Réponses :
library(tidyverse) df %>% rowwise() %>% mutate(MAX = max(x,y,z, na.rm = TRUE ), SUM = sum(x,y,z, na.rm = TRUE), ratio = MAX / SUM) # A tibble: 5 x 6 x y z MAX SUM ratio <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> 1 1 4 5 5 10 0.5 2 4 6 3 6 13 0.462 3 1 5 2 5 8 0.625 4 4 2 3 4 9 0.444 5 1 3 2 3 6 0.5
Voici une solution utilisant dplyr code>:
Une autre option avec ou dans rowsums code> et
Pmax code>
base r code> p>
solution supplémentaire
Bien que ce code puisse répondre à la question, fournissant un contexte supplémentaire concernant la raison et / ou la manière dont ce code répond à la question améliore sa valeur à long terme.