我有什么可能是一个很简单的问题。我想处理POSIXct对象从数据帧一列,生成日期时间字符串的向量。我试图用以下sapply呼叫

dt <- sapply(df$datetime, function(x) format(x,"%Y-%m-%dT%H:%M:%S"))

,但无济于事。我不断收到以下错误:

> Error in prettyNum(.Internal(format(x, trim, digits, nsmall, width, 3L,  :
invalid 'trim' argument

当我从塔将此功能到单个POSIXct对象,我没有问题。所以我在这个问题是什么时刻难住了。我需要做POSIXct对象一些特别的东西?

有帮助吗?

解决方案

format()将采取矢量参数,所以 format(df$datetime,"%Y-%m-%dT%H:%M:%S")应该做你所需要的。

当您使用sapply,你的对象被强制为数字,所以被调用的格式不正确的方法。您可以通过使用sapply(df$datetime, function(x) format(as.POSIXct(x, origin="1970-01-01"),"%Y-%m-%dT%H:%M:%S"))强迫他们回到POSIXct,但除非你有特殊的理由使用apply,只要使用上述

方法
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top