Как разделить один столбец на два столбца в R? - PullRequest
0 голосов
/ 04 июня 2018

У меня есть один столбец, как указано ниже, и я хочу разделить на два столбца дату и время.Как я могу это сделать?

X$Datime
11/7/2016 11:51
11/7/2016 17:57
12/7/2016 9:17
12/7/2016 21:08
13-07-2016 08:33:16
13-07-2016 21:57:28
14-07-2016 06:15:32
15-07-2016 05:11:52
15-07-2016 17:57:27
11/7/2016 6:46
12/7/2016 5:08
12/7/2016 12:30
13-07-2016 04:49:20

1 Ответ

0 голосов
/ 04 июня 2018

Вы можете сделать это с strsplit.

Y <- do.call(rbind, strsplit(X$Datime, " "))
Y <- as.data.frame(Y, stringsAsFactors = FALSE)
names(Y) <- c("Date", "time")

Обратите внимание, что столбец Datime должен иметь класс character, чтобы вышеуказанный код работал.Часто символьные векторы имеют класс factor, когда они являются столбцом data.frame.Если дело обстоит с вашими данными, используйте вместо этого

strsplit(as.character(X$Datime), " ")

Данные.

Datime <- scan(what = character(), text = "
11/7/2016 11:51
11/7/2016 17:57
12/7/2016 9:17
12/7/2016 21:08
13-07-2016 08:33:16
13-07-2016 21:57:28
14-07-2016 06:15:32
15-07-2016 05:11:52
15-07-2016 17:57:27
11/7/2016 6:46
12/7/2016 5:08
12/7/2016 12:30
13-07-2016 04:49:20
", sep = "\n")

X <- data.frame(Datime, stringsAsFactors = FALSE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...