R'deki sample işlevini kullanarak bir örnek nasıl oluşturulur?
R’deki sample() işlevi, bir veri kümesinden veya vektörden, değiştirilerek veya değiştirilmeden rastgele bir öğe örneği almanıza olanak tanır.
sample() fonksiyonunun temel sözdizimi şöyledir:
örnek (x, boyut, değiştir = FALSE , prob = NULL )
x : örneğin seçileceği bir veri kümesi veya vektör
boyut : örnek boyutu
değiştir : numune değiştirmeyle birlikte mi yapılmalı? (bu varsayılan olarak YANLIŞ’tır)
prob : örneklenmiş vektörün elemanlarını elde etmek için olasılık ağırlıklarının bir vektörü
sample()’ın tüm belgelerini burada bulabilirsiniz.
Aşağıdaki örnekler sample() kullanımına ilişkin pratik örnekleri göstermektedir.
Bir vektörden örnek oluşturma
10 eleman içeren bir a vektörümüz olduğunu varsayalım:
#define vector a with 10 elements in it
a <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
a vektörünün 5 elemanından oluşan rastgele bir örneği değiştirmeden oluşturmak için aşağıdaki sözdizimini kullanabiliriz:
#generate random sample of 5 elements from vector a
sample(a, 5)
#[1] 3 1 4 7 5
Rastgele bir örnek oluşturduğumuz her seferinde, muhtemelen her seferinde farklı bir öğe seti elde edeceğimizi unutmamak önemlidir.
#generate another random sample of 5 elements from vector a
sample(a, 5)
#[1] 1 8 7 4 2
Sonuçlarımızı tekrarlamak ve her seferinde aynı örnekle çalışmak istiyorsak set.seed() komutunu kullanabiliriz.
#set.seed(some random number) to ensure that we get the same sample each time set.seed(122) #define vector a with 10 elements in it a <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) #generate random sample of 5 elements from vector a sample(a, 5) #[1] 10 9 2 1 4 #generate another random sample of 5 elements from vector a sample(a, 5) #[1] 10 9 2 1 4
Değiştirmeyi örneklemek için değiştirme = DOĞRU bağımsız değişkenini de kullanabiliriz. Bu, vektörün her bir öğesinin örnekte birden fazla görünecek şekilde seçilebileceği anlamına gelir.
#generate random sample of 5 elements from vector a using sampling with replacement
sample(a, 5, replace = TRUE)
#10 10 2 1 6
Veri kümesinden örnek oluşturma
sample() işlevinin diğer bir yaygın kullanımı, bir veri kümesinden rastgele bir satır örneği oluşturmaktır. Aşağıdaki örnekte, toplamda 150 satıra sahip yerleşik R veri kümesi iris’ten 10 satırlık rastgele bir örnek oluşturacağız.
#view first 6 rows of iris dataset head(iris) # Sepal.Length Sepal.Width Petal.Length Petal.Width Species #1 5.1 3.5 1.4 0.2 setosa #2 4.9 3.0 1.4 0.2 setosa #3 4.7 3.2 1.3 0.2 setosa #4 4.6 3.1 1.5 0.2 setosa #5 5.0 3.6 1.4 0.2 setosa #6 5.4 3.9 1.7 0.4 setosa #set seed to ensure that this example is replicable set.seed(100) #choose a random vector of 10 elements from all 150 rows in iris dataset sample_rows <- sample(1:nrow(iris), 10) sample_rows #[1] 47 39 82 9 69 71 117 53 78 25 #choose the 10 rows of the iris dataset that match the row numbers above sample <- iris[sample_rows, ] sample # Sepal.Length Sepal.Width Petal.Length Petal.Width Species #47 5.1 3.8 1.6 0.2 setosa #39 4.4 3.0 1.3 0.2 setosa #82 5.5 2.4 3.7 1.0 versicolor #9 4.4 2.9 1.4 0.2 setosa #69 6.2 2.2 4.5 1.5 versicolor #71 5.9 3.2 4.8 1.8 versicolor #117 6.5 3.0 5.5 1.8 virginica #53 6.9 3.1 4.9 1.5 versicolor #78 6.7 3.0 5.0 1.7 versicolor #25 4.8 3.4 1.9 0.2 setosa
Yukarıdaki kodu kopyalayıp kendi R konsolunuza yapıştırırsanız, her seferinde aynı örneği aldığımızdan emin olmak için set.seed(100) kullandığımızdan tam olarak aynı örneği almanız gerektiğini unutmayın.