J'ai une colonne de dataframe comme celui-ciappliquer contraint à caractère
> class(df$Released)
[1] "Date"
Lorsque j'utilise apply
sur le vecteur, la valeur passée à FUN est sous la contrainte à caractère
> apply(df[1, ], 1, function(x) class(x['Released']))
1
"character"
Que se passe-t-il?
Vous lui dites d'appliquer à travers les lignes (étiqueté 1 dans le deuxième argument de apply) et en lui alimentant une seule ligne, également 1 [df [1,] et en lui demandant la classe de la colonne 'Released'. Donc, ceci s'applique seulement à la toute première instance de 'Released' en raison de la façon dont vous avez défini l'application et la fonction. exécutez 'str (sur df $ Released [1])' et voyez si cela correspond à la sortie de votre personnage .... – sconfluentus
également d'intérêt https://stackoverflow.com/questions/18214431/r-apply-on-dataframe- how-to-avoid-implicit-character-conversion – user20650
'df [1,]' est toujours une trame de données. 'apply' contraint son argument' X' à une matrice lorsqu'il s'agit d'une trame de données. Alors jetez un oeil à 'as.matrix (df [1,])' pour voir ce qui s'est passé. Vous pouvez également lire 'help (apply)'. –