Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R as.Date()仅返回datetime字符串的时间部分的NA_R_Datetime - Fatal编程技术网

R as.Date()仅返回datetime字符串的时间部分的NA

R as.Date()仅返回datetime字符串的时间部分的NA,r,datetime,R,Datetime,在数据框(df_pageviews)中,我尝试将以下列转换为日期时间格式: created_at 2018-03-23 00:51:01 2018-03-23 02:08:37 以下是我使用的代码(基于): 但是,此代码返回以下值:“2018-03-23”NA,“2018-03-23”NA 我认为格式化字符串是正确的,但我不明白为什么它不工作。有什么想法吗?#复制数据帧 # replicate the data frame df_pageviews <- data.frame( cr

在数据框(
df_pageviews
)中,我尝试将以下列转换为日期时间格式:

created_at
2018-03-23 00:51:01
2018-03-23 02:08:37
以下是我使用的代码(基于):

但是,此代码返回以下值:
“2018-03-23”NA,“2018-03-23”NA

我认为格式化字符串是正确的,但我不明白为什么它不工作。有什么想法吗?

#复制数据帧
# replicate the data frame
df_pageviews <- data.frame(
  created_at = c("2018-03-23 00:51:01", "2018-03-23 02:08:37")
)

# convert charachter to POSIXct
df_pageviews$created_at <- strptime(df_pageviews$created_at, "%Y-%m-%d %H:%M:%S")

# check the structure
str(df_pageviews)
# 'data.frame': 2 obs. of  1 variable:
#  $ created_at: POSIXlt, format: "2018-03-23 00:51:01" "2018-03-23 02:08:37"
dfpPayVIEWS

而不是AS .DATE(),考虑STRPTIME.

另外,要注意区分%m(月)和%m(分钟)。您还可以指定您的时区

例如:

strptime("2018-03-23 00:51:01",format="%Y-%m-%d %H:%M:%S")
[1] "2018-03-23 00:51:01 PDT"

写一个字符串format=“string”,not format=c(“string”,“other string”),并检查它是否正确(例如,%m不能同时匹配分和月)?我的问题是,当
strtime
替换为
as.Date
?@renakre时,
as.Date
是日期格式而不是日期/时间格式,为什么该代码不起作用,因此,
as.Date
只返回时间的日期部分。注意:base R没有time only对象,只有日期/时间,它必须包含:年、月、日、小时、分钟、秒。我的问题是,当
strptime
替换为
as.date
?日期和日期时间在结构上是不同的。as.Date将返回日期,而不是日期时间。您还可以查看lubridate包,以便更轻松地操作日期时间。
strptime("2018-03-23 00:51:01",format="%Y-%m-%d %H:%M:%S")
[1] "2018-03-23 00:51:01 PDT"