将时间转换为R中的字符
我使用以下时间值从csv文件读取数据框dtmn。将时间转换为R中的字符
在Excel它表明: 7/4/2014 13:08
当我中的R读它,它示出了:
> x <- dtmn[2,1] > x 
[1] 7/4/2014 
Levels: 0.547222222 7/4/2014 7/4/2014 13:08 788 
我想将其转换成字符的形式,用下面的字符值:
"07/04/2014 13:08" 函数as.character.Posixt(dtmn[2,1])仅返回日期:[1] "7/4/2014" 但我是试图包括时间也。因此,所需的输出可能是这样的: "07/04/2014 13:08"
请帮帮忙,
回答:
一个简单的方法,这是使用readxl包来解决。假设你有一个名为excel_file.xlsx一个Excel文件,你的数据列在Excel格式的日期:
date_from_excel 07/04/14 13:08 
07/04/14 21:30 
07/12/14 10:18 
library(readxl) 
df = read_excel(path=paste0("/<path-to-the-file>/",'excel_file.xlsx'), sheet=1, col_names=T, col_types=c('date')) 
df = as.data.frame(df) 
df$date_as_string = as.character(df$date_from_excel) 
> df 
    date_from_excel  date_as_string 
1 2014-04-07 13:08:00 2014-04-07 13:08:00 
2 2014-04-07 21:30:00 2014-04-07 21:30:00 
3 2014-12-07 10:18:00 2014-12-07 10:18:00 
> str(df) 
'data.frame': 3 obs. of 2 variables: 
$ date_from_excel: POSIXct, format: "2014-04-07 13:08:00" "2014-04-07 21:30:00" ... 
$ date_as_string : chr "2014-04-07 13:08:00" "2014-04-07 21:30:00" "2014-12-07 10:18:00" 
回答:
丰富斯克里芬的评论帮助我理解这一点。我检查了课程和级别。
> class(dtmn[2,1]) [1] "factor" 
> levels(dtmn[2,1]) 
[1] "0.547222222" "7/4/2014"  "7/4/2014 13:08" "788" 
最后,调用第三级为字符:
> as.character(levels(dtmn[2,1])[3]) [1] "7/4/2014 13:08" 
以上是 将时间转换为R中的字符 的全部内容, 来源链接: utcz.com/qa/263177.html

