代码之家  ›  专栏  ›  技术社区  ›  Francisco Yirá

R-如何将空的POSIXct列添加到数据中。帧/TIBLE已存在?

  •  2
  • Francisco Yirá  · 技术社区  · 7 年前

    我可以用如下代码用POSIXct列初始化数据帧:

    df <- data.frame(a=numeric(), b=character(), c=as.POSIXct(character()))
    

    > df <- tibble("Index"=numeric(10))
    > df[,"date"] <- as.POSIXct(character())
    > df[,"date"] %>% pull %>% class()
    [1] "numeric
    

    有没有办法克服这个问题?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Eric Fail    7 年前

    这对你有用吗(大多数人按照eipi10中的建议去做) his comment )

    library(tibble) # install.packages(c("dplyr"), dependencies = TRUE)
    df <- tibble(a = 1:3, b = letters[a], c = as.POSIXct(NA))
    
    df 
    #> # A tibble: 3 x 3
    #>       a     b      c
    #>   <int> <chr> <dttm>
    #> 1     1     a     NA
    #> 2     2     b     NA
    #> 3     3     c     NA
    
    str(df)
    #> Classes ‘tbl_df’, ‘tbl’ and 'data.frame':
    #>    3 obs. of  3 variables:
    #> $ a: int  1 2 3
    #> $ b: chr  "a" "b" "c"
    #> $ c: POSIXct, format: NA NA ...
    

    df <- tibble(a = numeric(), b = character(), c = as.POSIXct(NA))
    str(df)
    #> Classes ‘tbl_df’, ‘tbl’ and 'data.frame':
    #>   0 obs. of  3 variables:
    #> $ a: num 
    #> $ b: chr 
    #> $ c:Classes 'POSIXct', 'POSIXt'  num(0)