#r
#r
Вопрос:
Для данных Quakes
, которые выглядят следующим образом:
Date Latitude Longitude M
1 18001011 ...
2 18001122
3 18030000
4 19001010 ...
class(Quakes$Date)
выдает «integer» и без использования регулярных выражений для захвата шаблонов, как мы извлекаем годы, месяцы и дни?
Для первой строки с 18001011 это было бы:
Year = 1800, Month = 10, Day = 11
Комментарии:
1.использовать
substr
stat.ethz.ch/R-manual/R-devel/library/base/html/substr.html2. Для чего ожидаются день и месяц
18030000
?3. Это своего рода случайное число, потому что я хотел просто взять 4 числа, а затем 2, 2.
4. Хорошо, но тогда решение lubridate дало бы вам NA для
y <- ymd("18030000"); day(y); month(y)
Ответ №1:
пакет lubridate может помочь.
library(lubridate)
ymd("18001122")
Или:
ymd(Quakes$Date)
И извлекать год и месяц по отдельности:
year(ymd(Quakes$Date))
month(ymd(Quakes$Date))
day(ymd(Quakes$Date))
Base-R также может использовать as.Date(), передавая его спецификацию формата, такую как:
as.Date("18001122",format="%Y%m%d")
as.Date(as.character(Quakes$Date),format="%Y%m%d")