【问题标题】:How to import this date format in R如何在 R 中导入此日期格式
【发布时间】:2014-03-13 06:57:11
【问题描述】:

我在 csv 文件中记录了如下时间:

2/12/2014  3:57:31 PM
14/02/2014 8:06:27 AM
18/02/2014 3:38:42 AM
18/02/2014 6:06:47 AM
18/02/2014 5:37:48 PM
19/02/2014 3:44:14 PM

我需要如何在 R 中将其作为日期读取。目前它认为这是一个因素。

【问题讨论】:

    标签: r date datetime formatting


    【解决方案1】:

    我建议你阅读read.table 的帮助,特别是stringsAsFactors 的参数。 您必须将数据读取为character,然后将其转换为POSIXct 时间类

    dat <- read.csv(text='2/12/2014  3:57:31 PM
    14/02/2014 8:06:27 AM
    18/02/2014 3:38:42 AM
    18/02/2014 6:06:47 AM
    18/02/2014 5:37:48 PM
    19/02/2014 3:44:14 PM', stringsAsFactor = FALSE, header=FALSE)
    
    
    
    dat$V1 <- as.POSIXct(dat$V1, format = "%d/%m/%Y %I:%M:%S %p")
    
    dat
    ##                    V1
    ## 1 2014-12-02 15:57:31
    ## 2 2014-02-14 08:06:27
    ## 3 2014-02-18 03:38:42
    ## 4 2014-02-18 06:06:47
    ## 5 2014-02-18 17:37:48
    ## 6 2014-02-19 15:44:14
    

    或者,如果您的文件中只有 1 列,您可以使用 scan 函数

    dat <- as.POSIXct(scan(file = textConnection("2/12/2014  3:57:31 PM\n14/02/2014 8:06:27 AM\n18/02/2014 3:38:42 AM\n18/02/2014 6:06:47 AM\n18/02/2014 5:37:48 PM\n19/02/2014 3:44:14 PM"), 
        what = character(), sep = "\n"), format = "%d/%m/%Y %I:%M:%S %p")
    ## Read 6 items
    
    dat
    ## [1] "2014-12-02 15:57:31 MYT" "2014-02-14 08:06:27 MYT" "2014-02-18 03:38:42 MYT" "2014-02-18 06:06:47 MYT"
    ## [5] "2014-02-18 17:37:48 MYT" "2014-02-19 15:44:14 MYT"
    

    你可以用文件名替换textConnection('.....')

    【讨论】:

      【解决方案2】:

      这取决于每一行是一个因素,还是每行是三个因素,所以您可能需要尝试我在下面提出的解决方案。提示:最好将dput() 的输出提供给我们,这样我们确切地知道您正在处理什么。

      foo <- scan(, what="",sep="#")
      2/12/2014  3:57:31 PM
      14/02/2014 8:06:27 AM
      18/02/2014 3:38:42 AM
      18/02/2014 6:06:47 AM
      18/02/2014 5:37:48 PM
      19/02/2014 3:44:14 PM
      
      foo
      as.Date(sapply(strsplit(foo," "),"[",1),format="%d/%m/%Y")
      

      【讨论】:

        猜你喜欢
        • 2016-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-09
        • 2021-07-14
        • 1970-01-01
        相关资源
        最近更新 更多