2015-09-25 3 views
-1

У меня есть недавно созданный data.frame, который имеет три столбца: дата, время и данные. Я хочу совместить дату и переменные времени с одной переменной Date.Time.Как слить дату и время в один столбец datetime

Мой data.frame называется, data_dataframe и выглядит следующим образом:

Date  Time Data 
1/26/94 13:00 8.4 

Я пробовал:

as.POSIXct(paste(data_dataframe$Date, data_dataframe$Time), format="%d/%m/%Y %H:%M:%S") 

, но это не сработало. Чтение вокруг не помогло моей проблеме. Какие-нибудь советы?

+0

'as.POSIXct (паста (data_dataframe $ Date, data_dataframe $ Time), формат = «% m /% d /% Y% H:% M») 'remove':% S', так как в ваше время нет секунд. –

ответ

1

Вы можете попробовать

data_dataframe$Date <- with(data_dataframe, as.POSIXct(paste(as.Date(Date, format="%m/%d/%y"), Time))) 

После этого можно удалить столбец "Время"; так как она интегрирована в "Дата" сейчас:

data_dataframe <- data_dataframe[,-2] 

Результат:

> data_dataframe 
#     Date Data 
#1 1994-01-26 13:00:00 8.4 
#2 1989-02-20 11:00:00 7.5 
> class(data_dataframe$Date) 
#[1] "POSIXct" "POSIXt" 

данные:

text<-"Date  Time Data 
     1/26/94 13:00 8.4 
     2/20/89 11:00 7.5" 
data_dataframe <- read.table(text=text, header=T) 
+0

Я получил эту ошибку, когда попытался, чтобы «символьная строка не была в стандартном недвусмысленном формате» – user2920249

+1

@ user2920249 она работала для меня по предоставленным вами данным ... – Jaap

+0

Я попытался скопировать и вставить этот ответ и сменить df1 на data_dataframe в оба места, но я все еще получаю эту ошибку вот что я вменю data_dataframe $ date <- with (data_dataframe, as.POSIXct (вставить (as.Date (Date, format = "% m /% d /% Y% H:% M ")))) – user2920249

0

Ваша строка формата не совпадает с данными. Это работает, хотя:

as.POSIXct(paste("1/26/94", "13:00"), format="%m/%d/%y %H:%M") 
+0

Я получил эту ошибку, когда попытался, чтобы «символьная строка не была в стандартном однозначном формате» – user2920249

1

вы могли бы попробовать это, который будет создать новый столбец с '' New_DateTime

data_dataframe$New_DateTime <- paste(data_dataframe$Date, data_dataframe$Time) 
Смежные вопросы