Преобразование времени в читаемую форму в R (x-опубликовано в статистике) - PullRequest
1 голос
/ 28 октября 2011
10/16/2011 9:33:32 AM
10/16/2011 9:54:45 PM
10/16/2011 14:58:23 PM
10/17/2011 9:08:32 AM

Выше приведены несколько строк из моего столбца времени G $. Я хотел преобразовать их в читаемую форму, когда я изобразил Y со временем, поэтому я попытался

Time<-strptime(G$Time,format="%D  %H:$M:%S %r")

, а затем

Time<-strptime(G$Time,format="%m/%d/%y  %H:$M:%S %r")

но я ухожу с NA NA NA NA, когда набираю "Время". Может кто-нибудь помочь или дать мне ссылку на хороший ресурс? Я посмотрел на http://stat.ethz.ch/R-manual/R-patched/library/base/html/strptime.html,, но я не могу понять свою проблему.

ETA: проблема решена ... но для будущей самореференции просто хочу отметить, что формат G $ Time, в который я вошел в R, не соответствует столбцу «Time», который был в листе Excel. Так что если в Excel у меня была метка времени, которая выглядела как «16.10.2011 9:33:32 AM», то, введя G $ Time in R, я получил «16.10.2011 9:33» с секундами и% г отрезать. Интересно, случайно ли я сделал что-то, что увековечило это дело. В любом случае, наконец-то разобрались в мелких деталях благодаря ответчикам ниже.

Ответы [ 2 ]

2 голосов
/ 28 октября 2011
strptime("10/16/2011 9:08",format="%m/%d/%Y %H:%M")

работает на меня. Вам нужно (1) %Y заглавными буквами за четырехзначный год; (2) %M, а не $M (это опечатка в вашем вопросе?); (3) поле без секунд (%S), если в данных его нет; (4) нет поля AM / PM (%r), если его нет в данных.

edit : с новыми данными выше,

strptime("10/16/2011 9:08:21 PM",format="%m/%d/%Y %r")
strptime("10/16/2011 9:08:21 PM",format="%m/%d/%Y %H:%M:%S %p")

у меня оба работают.

Примечание : форматы определенно чувствительны к регистру (например, %y против %Y имеет значение) и также могут быть чувствительны к локали. Согласно ?strptime, %D расширяется до %m/%d/%y, что (я думаю) не удастся, потому что он ищет год из двух цифр.

1 голос
/ 28 октября 2011

На statsexchange я предположил, что будет лучше опубликовать здесь, и что она может выбрать любой из

Time<-strptime(G$Time,format="&m/%d/%Y  %H:$M")  # or

Time<-strptime(G$Time,format=""&m/%d/%Y  %R")

И оказалось, что у нее было 2 пробела между датой и временем, поэтому я использовал их выше

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...