Я застрял, объединив два столбца фрейма данных в один. Ниже приведен код для воспроизведения проблемы
df <- data.frame(date = c("2/13/1962 0:00:00", "4/13/1972 0:00:00", "3/13/1982 0:00:00", "12/13/1992 0:00:00"),
time = c("0900", "1000", "1101", "1603"))
#This works
df$tmp <- as.Date(df$date, format="%m/%d/%Y")
df
date time tmp
1 2/13/1962 0:00:00 0900 1962-02-13
2 4/13/1972 0:00:00 1000 1972-04-13
3 3/13/1982 0:00:00 1101 1982-03-13
4 12/13/1992 0:00:00 1603 1992-12-13
# this doesn't
df$tmp <- strptime(strsplit(as.character(df$date), " ")[[1]][1], format="%m/%d/%Y")
df
1 2/13/1962 0:00:00 0900 1962-02-13
2 4/13/1972 0:00:00 1000 1962-02-13
3 3/13/1982 0:00:00 1101 1962-02-13
4 12/13/1992 0:00:00 1603 1962-02-13
Я хотел бы получить столбец, который сочетает в себе часть даты и столбец времени, но не смог получить этот результат.
Экспериментируя, я заметил, что функция as.Date
конвертирует дату. С другой стороны, с функцией strsplit
все строки заканчиваются первой датой.
Я был бы очень признателен за любую помощь в решении, в результате чего 4 строки имеют объект «Дата»:
1 1962-02-13 09:00
2 1972-04-13 10:00
3 1982-03-13 11:01
4 1992-12-13 16:03
strptime(paste(df$tmp, df$time), format="%Y-%m-%d %H%M")
(не проверено, не на моем компьютере). Может понадобитьсяas.character(df$tmp)
в пасте. - person r2evans   schedule 18.08.2014df$date3 = strptime(paste(as.Date(df$date, format="%m/%d/%Y"), df$time), format="%Y-%m-%d %H%M")
- person chribonn   schedule 19.08.2014