Appliquer une fonction à tous les éléments d'une trame de données
j'essaie d'appliquer quelques transformations à tous les éléments d'une base de données.
quand j'utilise les fonctions d'application régulières, je récupère une matrice et pas une base de données. Est-il possible d'obtenir un dataframe directement sans ajouter as.data.frame
pour chaque ligne?
df = data.frame(a = LETTERS[1:5], b = LETTERS[6:10])
apply(df, 1, tolower) #Matrix
apply(df, 2, tolower) #Matrix
sapply(df, tolower) #Matrix
as.data.frame(sapply(df, tolower)) # Can I avoid "as.data.frame"?
8
demandé sur
Deena
2016-10-27 10:40:33
2 réponses
nous pouvons utiliser lapply
et l'affecter à 'df'
df[] <- lapply(df, tolower)
[]
conserve la même structure que l'ensemble de données original. En utilisant apply
convertir en un matrix
et ce n'est pas recommandé.
16
répondu
akrun
2016-10-27 07:42:54