从R中的data.frame中提取日期时间

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)

非常感谢您的帮助!

mat*_*fee 7

你可以使用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 参数,日期和字符串之间的各种转换.