Frage

Ich habe, was eine sehr einfache Frage sein kann. Ich möchte eine Spalte von POSIXct Objekten aus einem Datenrahmen verarbeiten und einen Vektor von Datetime Strings erzeugen. Ich habe versucht, den folgenden sapply Aufruf zu verwenden,

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

, aber ohne Erfolg. Ich halte die folgende Fehlermeldung erhalten:

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

Wenn ich diese Funktion auf ein einziges POSIXct Objekt aus der Spalte anwenden, habe ich kein Problem. So bin ich im Moment ratlos darüber, was das Problem ist. Muss ich etwas Besonderes tun mit POSIXct Objekte?

War es hilfreich?

Lösung

format() wird ein Vektor-Argument, so format(df$datetime,"%Y-%m-%dT%H:%M:%S") tun sollten, was Sie brauchen.

Wenn Sie sapply verwenden, werden Ihre Objekte numerischen dazu gezwungen, und so die falsche Format-Methode aufgerufen wird. Sie könnten sie zu POSIXct zwingen zurück durch sapply(df$datetime, function(x) format(as.POSIXct(x, origin="1970-01-01"),"%Y-%m-%dT%H:%M:%S")) verwenden, aber wenn Sie einen besonderen Grund zur Verwendung apply haben, benutzen Sie einfach die oben beschriebene Methode

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top