Muter avec la fonction personnalisée en r ne fonctionne pas
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