7

非常に簡単な質問があります。データフレームからPOSIXctオブジェクトの列を処理し、日時文字列のベクトルを生成したいと思います。次のsapplycallを使ってみました

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オブジェクトで何か特別なことをする必要がありますか?

4

1 に答える 1

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上記の方法を使用してください。

于 2010-03-20T06:27:45.940 に答える