Cec*_*zyk 1 time datetime r date
我有一个像这样的日期时间的数据集"{datetime:2015-07-01 09:10:00"所以我想删除文本,然后保留日期和时间as.Date仅返回日期.所以我写这段代码,但我唯一的问题是在strsplit的第二行,它只返回第一行的日期时间,所以擦掉其他...我很想得到我所有的约会时间不仅首先.我也许考虑过,但我无法做对,我有很多错误,或者可能有一个循环?我是R的新手,所以我真的不知道怎么做最好的方法.
请问你能帮帮我吗?除此之外如果您对时间和日期格式有另一种想法或一种简单的方法,那么它也应该是非常好的.
data$`Date Time`=as.character(data$`Date Time`)
data$`Date Time`=unlist(strsplit(data[,1], split='e:'))[2]
date=substr(data$`Date Time`,0,10)
date=as.Date(date)
time=substr(data$`Date Time`,12,19)
data$Date=date
data$Time=time
Run Code Online (Sandbox Code Playgroud)
非常感谢您的帮助!
你可以使用format参数来避免所有的strsplit:
times <- as.POSIXct(data$`Date Time`, format='{datetime:%Y-%m-%d %H:%M:%S')
Run Code Online (Sandbox Code Playgroud)
(格式中"{datetime:"的原因是因为您提到这是字符串的格式).
此对象包含日期和时间,然后您可以将其作为POSIXct类型的单个列存储在数据框中,而不是两列类型为string的列,例如
data$datetime <- times
Run Code Online (Sandbox Code Playgroud)
但如果您确实希望将日期存储为日期,将时间存储为字符串(如上例所示):
data$Date <- as.Date(times)
data$Time <- strftime(times, format='%H:%M:%S')
Run Code Online (Sandbox Code Playgroud)
见?as.Date,?as.POSIXct,?strptime关于更多的细节format 参数,日期和字符串之间的各种转换.
| 归档时间: |
|
| 查看次数: |
2425 次 |
| 最近记录: |