سؤال

لدي ما قد يكون سؤالًا بسيطًا جدًا. أرغب في معالجة عمود من كائنات posixct من نظام البيانات وإنشاء متجه من سلاسل DateTime. حاولت استخدام مكالمة 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 ، يتم إجبار كائناتك على الرقم ، وبالتالي يتم استدعاء طريقة التنسيق الخاطئ. يمكنك إجبارهم على العودة إلى posixct باستخدام sapply(df$datetime, function(x) format(as.POSIXct(x, origin="1970-01-01"),"%Y-%m-%dT%H:%M:%S")), ، ولكن ما لم يكن لديك سبب خاص للاستخدام apply, ، فقط استخدم الطريقة أعلاه

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top