احصل على إرجاع الطرح اللوبريديت فقط قيمة رقمية

StackOverflow https://stackoverflow.com/questions/3765668

  •  04-10-2019
  •  | 
  •  

سؤال

لدي متغير واحد يسمى Started وهو التاريخ الذي التحق به الموضوعات البشرية في دراسة ومتغير آخر يسمى dos1 وهو التاريخ الذي أجرى فيه الموضوع آخر عملية جراحية. أريد أن أعمل على عدد أشهر منذ آخر عملية جراحية ليوم التسجيل. حاولت:

as.period(syrrupan$Started-syrrupan$dos1,units=c("month"))

كنت أتوقع أن يعطيني هذا شيئًا مثل:

14, 18, 1, 26 

مع كل رقم هو عدد أشهر.

بدلاً من ذلك أحصل على:

1 year, -4 months, -5 days and -1 hours   1 year, -5 months, -23 days and -1 hours   1 year, -7 months, 2 days and -1 hours   1 year, -8 months, -28 days and 1 hour   1 year, -7 months, -23 days and 1 hour.   

كيف يمكنني الحصول على القيمة الرقمية للأشهر؟

هل كانت مفيدة؟

المحلول

يمكنك محاولة استخدام difftime بدلاً من ذلك ، أي:

difftime(syrrupan$Started,syrrupan$dos1,units="days")

لاحظ أن هذا سيعطيك كائنًا من الفصل difftime, ، إذا كنت تريد متجهًا رقميًا ، لف as.numeric حولها. لاحظ أيضًا أنه لا يمكنك اختيار أشهر كخيار للوحدات ، ولكن يجب أن تلتزم حقًا بوحدة زمنية لها طول ثابت.

نصائح أخرى

هذا بالتأكيد خطأ في Lubridate. لقد قمت بإجراء تقرير خطأ وسأصلحه للإصدار 0.1:

http://github.com/hadley/lubridate/issues#issue/75

شكرا للفت إنتباهي.

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