Question

J'ai un cadre de données, contenant une colonne appelée: "Fréquence". La fréquence a des valeurs comme "année", "semaine", "mois" etc. Maintenant, je veux créer une nouvelle colonne basée sur la colonne de fréquence où la nouvelle valeur correspondante de l'année sera de 1, la valeur correspondante du mois sera de 12 et une semaine de valeur correspondante être 48. J'ai essayé de faire une fonction pour cela comme "getValue" et j'ai essayé de faire une nouvelle colonne en appliquant une mutation (DPLYR) sur ce funcion. Mais malheureusement, j'obtiens l'avertissement suivant et toutes les valeurs sont transformées par la valeur de "1".

getValue <- function(input) {

          if (input == 'Year')
          {
            result <- 1
          } 
          else if(input == 'Month')
          {
            result <- 12
          } 
          else if(input == 'Week')
          {
            result <- 48
          } 

          return(result)
        }

      Data =  mutate(gateway, YearlyHit = getValue(gateway$Frequency))
      Data

Voici le message d'avertissement que je reçois -

Warning message:
In if (input == "Year") { :
  the condition has length > 1 and only the first element will be used

Comment puis-je réaliser le résultat requis dans R?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
scroll top