2015-03-05 2 views
0

У меня есть столбец, который я уже изменил до настоящего времени, используя as.dateизменение столбца strptime() п кадр данных г

> test_subset$Date <- as.Date(test_subset$Date, "%d/%m/%Y") 

Следующий столбец содержит числовые данные в виде времени, соответствующих соседней колонке дат. Проблема у меня есть, он продолжает вставлять текущую дату в это время только столбец - уточняет столбец «TIME»

> test_subset[[2]] <- strptime(test_subset[[2]], "%H:%M:%S") 

но результат добавляет текущую дату времени.

  1. Как отрегулировать столбец «ВРЕМЯ», чтобы НЕ включать текущую дату.
  2. Как я могу вырезать текущую дату с «TIME» Колонка
+0

Я понимаю, что это должно быть ввода текущей даты как в файле справки «Для strptime входной строки не нужно указать дату полностью: предполагается, что неопределенные секунды, минуты или часы равны нулю, и неуточненный год, месяц или день - это текущий ». Я просто не знаю, как настроить класс без ввода текущей даты. – scopa

ответ

1

Дата вставляется, потому что вы используете strptime(). Вы можете использовать format(), так как вам необязательно нужен специальный класс для времени. Если у нас есть пример вектор x,

x <- Sys.time() + 0:5 
#[1] "2015-03-05 07:08:27 PST" "2015-03-05 07:08:28 PST" 
#[3] "2015-03-05 07:08:29 PST" "2015-03-05 07:08:30 PST" 
#[5] "2015-03-05 07:08:31 PST" "2015-03-05 07:08:32 PST" 

Чтобы получить только дату, вы можете использовать

as.Date(format(x, "%F")) 
# [1] "2015-03-05" "2015-03-05" "2015-03-05" "2015-03-05" 
# [5] "2015-03-05" "2015-03-05" 

И получить только время, используйте format() снова, но с %T.

format(x, "%T") 
# [1] "07:08:27" "07:08:28" "07:08:29" "07:08:30" "07:08:31" 
# [6] "07:08:32" 

Если выяснится, вы сделать нужен класс времени на второй колонке, вы можете использовать chron::times(), который дает класс «раз».

(time <- chron::times(format(x, "%T"))) 
# [1] 07:08:27 07:08:28 07:08:29 07:08:30 07:08:31 07:08:32 
class(time) 
# [1] "times" 
+1

Вы играете так просто: test_subset [[2]] <- format (test_subset [[2]], "% T") – scopa