A: bagaimana mencari nilai terdekat dalam suatu vektor
Anda dapat menggunakan sintaks dasar berikut untuk mencari nilai terdekat antara elemen dua vektor di R:
#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)
Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.
Contoh: Mencari Nilai Terdekat pada suatu Vektor di R
Misalkan kita mempunyai dua vektor berikut di R:
#definevectors
vector1 <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
vector2 <- c(3, 5, 8, 11)
Sekarang misalkan untuk setiap nilai pada vektor pertama, kita ingin mencari nilai terdekat pada vektor kedua.
Kita dapat menggunakan sintaks berikut untuk melakukan ini:
#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
Berikut cara menafsirkan hasilnya:
- Untuk nilai pertama vector1 (1), nilai yang paling dekat dengan vector2 adalah 3 .
- Untuk nilai kedua vector1 (2), nilai yang paling dekat dengan vector2 adalah 3 .
- Untuk nilai ketiga dari vector1 (3), nilai yang paling dekat dengan vector2 adalah 3 .
- Untuk nilai keempat vector1 (4), nilai yang paling dekat dengan vector2 adalah 3 .
- Untuk nilai kelima dari vector1 (5), nilai yang paling dekat dengan vector2 adalah 5 .
Dan seterusnya.
Catatan : Metode ini mengasumsikan bahwa nilai vektor kedua meningkat tajam. Jika Anda belum melakukannya, Anda mungkin perlu mengurutkan vektor kedua terlebih dahulu.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di R:
Cara menghitung mean per grup di R
Cara menghitung rata-rata kolom di R
Cara menjumlahkan kolom tertentu di R