La méthode pour faire une fonction personnalisée est similaire celle de Javascript. Il s’agit de declarer la fonction avec « function() » en mettant les paramètres dans les parenthèses (il est possible de définir la valeur par défaut avec =). Le code de la fonction est à mettre entre accolades ({}). Et si il est nécessaire de transmettre une variable, il s’agit de faire appel à return().
Par exemple, si on souhaite faire une fonction personnalisée qui va simplement convertir un data_frame en liste (c’est à dire mettre les données de chaque colonne dans une liste), il s’agirait de procéder ainsi :
maFonction <- function(dataframe){
newList <- list()
nb_col <- ncol(dataframe)
for (i in 1:nb_col){
# A noter ici que pour mettre le vecteur de données dans la liste, il s'agit de faire appel au niveau "inferieur" ([[ ]])
newList[[i]] <- dataframe[[i]]
# Le nom de la colonne est repris dans la liste
names(newList)[i] <- colnames(dataframe)[i]
}
return(newList)
}
A savoir que pour appliquer une fonction sur des données avec une méthode itérative, il est possible de faire appel à des fonctions qui vont simplifier la tâche (pour gérer l’iteration) : lapply, sapply, apply
Pour + d’infos :