كيف يمكنك إعادة ترتيب طلب المتجه في R؟

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

  •  25-09-2019
  •  | 
  •  

سؤال

لدي ثلاثة متجهات في كائن XTS R. اتصل بهم v1 ، v2 ، v3. بعد الاندماج ، ترتيبهم من اليسار إلى اليمين هو v2 ، v3 ، v1. كيف يمكنني إعادة ترتيبهم حتى يقرأوا (من اليسار إلى اليمين) مثل V1 ، V2 ، V3؟

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

المحلول

يمكنك فقط الرجوع إلى الأعمدة وإعادة تعيينها:

 x <- x[,c(2,3,1)]

إليك مثال عمل:

> data(sample_matrix)
> x <- head(as.xts(sample_matrix, descr='my new xts object'))[,c(1,2,3)]
> x
               Open     High      Low
2007-01-02 50.03978 50.11778 49.95041
2007-01-03 50.23050 50.42188 50.23050
2007-01-04 50.42096 50.42096 50.26414
2007-01-05 50.37347 50.37347 50.22103
2007-01-06 50.24433 50.24433 50.11121
2007-01-07 50.13211 50.21561 49.99185
> x <- x[,c(2,3,1)]
> x
               High      Low     Open
2007-01-02 50.11778 49.95041 50.03978
2007-01-03 50.42188 50.23050 50.23050
2007-01-04 50.42096 50.26414 50.42096
2007-01-05 50.37347 50.22103 50.37347
2007-01-06 50.24433 50.11121 50.24433
2007-01-07 50.21561 49.99185 50.13211

نصائح أخرى

تجدر الإشارة إلى ذلك أثناء وجودك نكون قادر على الرجوع إلى الأعمدة بالاسم لإنشاء كائنات وأعمدة جديدة ، ala

xts.object$V1plusV2 <- xts.object[, "V1"] + xts.object[, V2"] ,

لا يمكنك إعادة ترتيب الأعمدة عبر الاسم. ما يلي غير مسموح به

xts.reordered <- xts.object[, c("V3, V2, V1")] .

بدلاً من ذلك ، كما أشار شين ، ستحتاج إلى الرجوع إلى الأعمدة حسب الرقم.

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