0
votes

Ratio de la plus grande valeur par ligne de Dataframe dans R

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. xxx

merci!


0 commentaires

4 Réponses :


0
votes
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  

0 commentaires

0
votes

Voici une solution utilisant dplyr : xxx


0 commentaires

0
votes

Une autre option avec rowsums et Pmax xxx


ou dans base r xxx


0 commentaires

0
votes

solution supplémentaire xxx


1 commentaires

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.