我有一个可能是一个非常简单的问题.我想从数据帧处理一列POSIXct对象并生成一个datetime字符串向量.我尝试使用以下sapply调用
dt <- sapply(df$datetime, function(x) format(x,"%Y-%m-%dT%H:%M:%S"))
Run Code Online (Sandbox Code Playgroud)
但无济于事.我一直收到以下错误:
> Error in prettyNum(.Internal(format(x, trim, digits, nsmall, width, 3L, :
invalid 'trim' argument
Run Code Online (Sandbox Code Playgroud)
当我将此函数应用于列中的单个POSIXct对象时,我没有问题.关于问题是什么,我现在很难过.我是否需要对POSIXct对象做一些特别的事情?
Leo*_*yev 13
format()将采用向量参数,所以
format(df$datetime,"%Y-%m-%dT%H:%M:%S")应该做你需要的.
当您使用sapply时,您的对象被强制为数字,因此正在调用错误的格式方法.您可以通过使用将它们强制回POSIXct sapply(df$datetime, function(x) format(as.POSIXct(x, origin="1970-01-01"),"%Y-%m-%dT%H:%M:%S")),但除非您有特殊原因要使用apply,否则只需使用上述方法即可