C: bir vektörde en yakın değer nasıl bulunur?


R’deki iki vektörün elemanları arasındaki en yakın değeri bulmak için aşağıdaki temel sözdizimini kullanabilirsiniz:

 #define cut points
cuts <- c(-Inf, vector2[-1]-diff(vector2)/2, Inf)

#for each value in vector1, find closest value in vector2
cut(vector1, breaks=cuts, labels=vector2)

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: R’de Bir Vektörde En Yakın Değeri Bulma

R’de aşağıdaki iki vektöre sahip olduğumuzu varsayalım:

 #definevectors
vector1 <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
vector2 <- c(3, 5, 8, 11)

Şimdi birinci vektördeki her değer için ikinci vektördeki en yakın değeri bulmak istediğimizi varsayalım.

Bunu yapmak için aşağıdaki sözdizimini kullanabiliriz:

 #define cut points
cuts <- c(-Inf, vector2[-1]-diff(vector2)/2, Inf)

#for each value in vector1, find closest value in vector2
cut(vector1, breaks=cuts, labels=vector2)

 [1] 3 3 3 3 5 5 8 8 8 11

Sonucun nasıl yorumlanacağı aşağıda açıklanmıştır:

  • Vektör1’in (1) ilk değeri için vektör2’ye en yakın değer 3’tür .
  • Vektör1’in (2) ikinci değeri için vektör2’ye en yakın değer 3’tür .
  • Vektör1’in (3) üçüncü değeri için vektör2’ye en yakın değer 3’tür .
  • Vektör1’in (4) dördüncü değeri için vektör2’ye en yakın değer 3’tür .
  • Vektör1’in (5) beşinci değeri için vektör2’ye en yakın değer 5’tir .

Ve benzeri.

Not : Bu yöntem, ikinci vektörün değerlerinin kesin olarak arttığını varsayar. Henüz yapmadıysanız ilk önce ikinci vektörü sıralamanız gerekebilir.

Ek kaynaklar

Aşağıdaki eğitimlerde R’de diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

R’de grup başına ortalama nasıl hesaplanır
R’deki sütunların ortalaması nasıl alınır?
R’de belirli sütunlar nasıl toplanır

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir