2016-10-06 2 views
1

Tout d'abord, je suis en dessous du niveau de démarrage et je commence juste à apprendre le codage.strptime() renvoie NA pour la chaîne char - Problème de langue des paramètres régionaux, Brésil Portugais

Je suis Tring pour convertir une chaîne de caractères dans le temps en utilisant strptime() comme suit:

t3 <- "October 17, 1986 08:24" 
t4 <- strptime(t3, "%B %d, %Y %H:%M") 

t4 

class(t4) 

Voici ce qu'il imprime:

t3 <- "October 17, 1986 08:24" 

t4 <- strptime(t3, "%B %d, %Y %H:%M") 

t4 
[1] NA 

class(t4) 
[1] "POSIXlt" "POSIXt" 

J'utilise ceci sur une classe scénarisée - swirl() - et même si t4 renvoie NA, il a accepté comme une réponse correcte à la tâche.

Essayé en utilisant R Studio, R 3.3.1 et en exécutant R sur une ligne de commande, comme indiqué sur l'image. (pile ne me laissera pas poster car ma réputation est encore faible)

J'ai également essayé d'assigner "outubro" et "Outubro" à t3 depuis mon lieu de travail est le Brésil.

+2

Je ne peux pas reproduire ce. Cela fonctionne bien ici R 3.2.4. – thelatemail

+0

Je l'ai essayé à nouveau sur R 3.3.1 et R Studio et il échoue. Le local a-t-il quelque chose à voir avec le résultat? –

+0

Il s'agit vraiment d'une fonctionnalité R principale. Je serais extrêmement surpris si cela ne fonctionne pas sans qu'un autre facteur soit changé. Pouvez-vous démarrer une ligne de commande ou un terminal de base et exécuter 'R', puis tester votre code? – thelatemail

Répondre

2

@thelatemail m'a recommandé de vérifier les noms de mois locaux via format(ISOdate(2000, 1:12, 1), "%B")

Ma locale et la langue ont été la question. En portugais, les mois devraient être utilisés sans majuscules.

maintenant:

t3 <- "outubro 17, 1986 08:24" t4 <- strptime(t3, "%B %d, %Y %H:%M") [1] "1986-10-17 08:24:00 BRT"