Уақытты R-ге оқуға арналған формаға түрлендіру (х-статистиктерде жарияланған)

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 $ уақыт бағанынан бірнеше жол бар. Мен уақытты «уақытында» жасырған кезде оларды оқуға болатын формаға айналдырғым келді

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 форматы, Excel парағындағы «Уақыт» бағанына сәйкес келмегенін атап өткім келеді. Осылайша, Excel бағдарламасында менде «16.10.2011 09:33:32» деген уақытша белгілер болды, ал G $ Time in R мені «10/16/2011 9:33» секундтармен және% r кесілген. Бір қызығы, бұл кездейсоқ, бұл істі тоқтатқан нәрсе жасады ма? Қалай болғанда да, төмендегі жауап берушілердің арқасында, кішігірім бөлшектер анықталды.

1
Сіз сондай-ақ Stats sister сайтында бірдей сұрақ қойдыңыз. Crossposting жаман дәм.
қосылды автор Dirk Eddelbuettel, көзі
Бұл сұрақтың тақырыбына не жатады?
қосылды автор mdsumner, көзі
Ескертті! Мен басқа жазбаны жойамын. Титул қате болды (менде бұрын жазылған басқа сұрақтың жобасы бар еді, мен шешімді түсіндім). Түсініктемелеріңізге рахмет.
қосылды автор LNA, көзі
Іс жүзінде, мен DWin-ның жауабына байланысты басқа лауазымнан кетемін.
қосылды автор LNA, көзі

2 жауаптар

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

Мен үшін жұмыс істейді. Сізге (1) % Y төрт сандық жыл үшін капиталдандыру керек; (2) $ M емес, % M (бұл сіздің сұрағыңыздағы типо?); (3) секундтарда (% S ) өріс деректерде біреу болмаса; (4) деректерде біреуі болмаса, AM/PM өрісі жоқ (% r ).

edit: with the new data above,

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")

Мен үшін де жұмыс істейді.

Note: the formats are definitely case-sensitive (e.g. %y vs %Y matters) and may be locale-sensitive as well. According to ?strptime, %D expands to %m/%d/%y, which would (I think) fail because it's looking for a 2-digit year.

2
қосылды
Рақмет сізге! :) Ия, көп нәрсе егжей-тегжейлі болды. Не себепті Excel бағдарламасындағы менің уақыт белгішімнің пішімі бірдей бағанды ​​сұрағанда, R регрессиясымен сәйкес келмеді, сондықтан мен абай болу керек болды.
қосылды автор LNA, көзі

Стафесексте мен бұл жерде жақсыырақ болар еді деп ұсындым және ол біреуін таңдай алады

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

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

Және оның күні мен уақыты арасында 2 бос орын болғаны анықталды, сондықтан мен оларды жоғарыда қолдандым

1
қосылды
Crosspost үшін рахмет. Мен сіздің шешіміңіздің неге мен үшін ең алдымен жұмыс істемейтінін түсіндім ... G-ге $ R-ге кірген уақыты қандай да бір себеппен Excel парағындағы «Уақыт» бағанына сәйкес келмеді. Сонымен, Excel бағдарламасында менде «16.10.2011 9:33:32» сияқты уақыт белгісі болды, ал G $ Time ішіндегі уақытты енгізді «16.10.2011 9:33». Бір қызығы, бұл кездейсоқ, бұл істі тоқтатқан нәрсе жасады ма?
қосылды автор LNA, көзі