[英]R - How can I add an empty POSIXct column to a data.frame / tibble which already exists?
I can initialize a data frame with a POSIXct column with code like this: 我可以使用以下代码用POSIXct列初始化数据帧:
df <- data.frame(a=numeric(), b=character(), c=as.POSIXct(character()))
However, if I try to add an empty POSIXct column to a data.frame or tibble which already exists, the column is transformed to numeric type/class. 但是,如果我尝试将空的POSIXct列添加到已经存在的data.frame或tibble中,则该列将转换为数字类型/类。
> df <- tibble("Index"=numeric(10))
> df[,"date"] <- as.POSIXct(character())
> df[,"date"] %>% pull %>% class()
[1] "numeric
Is there a method to overcome this problem? 有没有解决这个问题的方法?
would this work for you (most doing what eipi10 suggest in his comment ) 会为您工作吗(大多数做eipi10在他的评论中建议)
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 ...
or maybe 或者可能
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.