题
我有什么可能是一个很简单的问题。我想处理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
,只要使用上述
不隶属于 StackOverflow