r - 如何在R中将一列分成两列?
问题描述
我有一列如下所述,我想分成两列日期和时间。我怎样才能做到这一点 ?
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
解决方案
你可以用strsplit
.
Y <- do.call(rbind, strsplit(X$Datime, " "))
Y <- as.data.frame(Y, stringsAsFactors = FALSE)
names(Y) <- c("Date", "time")
请注意,该列Datime
必须属于类character
才能使上述代码正常工作。很多时候,字符向量属于 class 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)
推荐阅读
- c - 如何通过引用修改指向另一个结构内的结构数组的指针
- r - 如何访问新环境?
- css - 如何使用 CSS 对齐同一 div 中的多个元素
- angular - Mock ngrx store selectors with parameters in unit tests (Angular)
- c++ - How can I transfer the char c[0] to int
- c# - Azure Active Directory with .Net Core
- java - How to let the user know which word a specific keyword is in a sentence (e.g. this is the 3rd word)
- d3.js - How can I rotate my barchart around a circle in d3?
- bash - 文本文件中的重复行取决于列值
- python - 使用递归 printReverse String 的机制