SORU
7 NİSAN 2011, PERŞEMBE


Bir vektör bir öğe dizini bulmak için R bir fonksiyon var mı?

R, 2* *bir unsuru ve bir vektör var v. x eşit v bir öğe ilk endeks bulmak istiyorum. Bunu yapmanın bir yolu olduğunu biliyorum: which(x == v)[[1]], ama bu aşırı verimsiz gibi görünüyor. Daha doğrudan bir yol var mı?

Bonus puan için, eğer x bir vektör çalışır bir işlevi var mı? Yani, endeksleri v x her öğenin konumunu gösteren bir vektör döndürür.

CEVAP
7 NİSAN 2011, PERŞEMBE


İşlevi match vektörler üzerinde çalışır :

> x <- sample(1:10)
> x
 [1]  4  5  9  3  8  1  6 10  7  2
> match(c(4,8),x)
[1] 1 5

match sadece istediğiniz gibi bir maçta ilk karşılaşma verir.

, %in% çoklu eşleştirme için gitmek yoludur :

> x <- sample(1:4,10,replace=T)
> x
 [1] 3 4 3 3 2 3 1 1 2 2
> which(x %in% c(2,4))
[1]  2  5  9 10

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Blendtec

    Blendtec

    30 EKİM 2006
  • metal571

    metal571

    30 Mayıs 2006
  • TimMinchinLive

    TimMinchinLi

    23 ŞUBAT 2009