R'de gruba göre standart sapma nasıl hesaplanır (örneklerle)


R’deki gruba göre standart sapmayı hesaplamak için aşağıdaki yöntemlerden herhangi birini kullanabilirsiniz:

Yöntem 1: R tabanını kullanın

 aggregate(df$col_to_aggregate, list(df$col_to_group_by), FUN=sd)

Yöntem 2: dplyr’ı kullanın

 library (dplyr)

df %>%
  group_by(col_to_group_by) %>%
  summarise_at(vars(col_to_aggregate), list(name=sd))

Yöntem 3: data.table’ı kullanma

 library (data.table)

setDT(df)

dt[ ,list(sd=sd(col_to_aggregate)), by=col_to_group_by]

Aşağıdaki örnekler, R’deki aşağıdaki veri çerçevesiyle bu yöntemlerin her birinin pratikte nasıl kullanılacağını gösterir:

 #create data frame
df <- data. frame (team=rep(c(' A ', ' B ', ' C '), each= 6 ),
                 points=c(8, 10, 12, 12, 14, 15, 10, 11, 12,
                          18, 22, 24, 3, 5, 5, 6, 7, 9))

#view data frame
df

   team points
1 to 8
2 to 10
3 to 12
4 to 12
5 to 14
6 to 15
7 B 10
8 B 11
9 B 12
10 B 18
11 B 22
12 B 24
13 C 3
14 C 5
15 C 5
16 C 6
17 C 7
18 C 9

Yöntem 1: R tabanını kullanarak standart sapmayı gruba göre hesaplayın

Aşağıdaki kod, takım tarafından atılan puanların standart sapmasını hesaplamak için R veritabanının Aggregate() işlevinin nasıl kullanılacağını gösterir:

 #calculate standard deviation of points by team
aggregate(df$points, list(df$team), FUN=sd)

  Group.1 x
1 A 2.562551
2 B 6.013873
3 C 2.041241

Yöntem 2: dplyr kullanarak gruba göre standart sapmayı hesaplama

Aşağıdaki kod, takım tarafından atılan puanların standart sapmasını hesaplamak için dplyr paketindeki group_by () ve summarise_at() işlevlerinin nasıl kullanılacağını gösterir:

 library (dplyr)

#calculate standard deviation of points scored by team
df %>%
  group_by(team) %>%
  summarise_at(vars(points), list(name=sd))

# A tibble: 3 x 2
  team name
   
1 to 2.56
2 B 6.01
3C 2.04

Yöntem 3: data.table’ı kullanarak gruba göre standart sapmayı hesaplayın

Aşağıdaki kod, data.table paketindeki işlevleri kullanarak takım tarafından atılan puanların standart sapmasının nasıl hesaplanacağını gösterir:

 library (data.table)

#convert data frame to data table 
setDT(df)

#calculate standard deviation of points scored by team
df[,list(sd=sd(points)), by=team]

   team sd
1: A 2.562551
2: B 6.013873
3:C2.041241

Her üç yöntemin de aynı sonuçları döndürdüğünü unutmayın.

Not : Aşırı büyük bir veri çerçevesiyle çalışıyorsanız, bu paketler R tabanına göre çok daha hızlı çalıştığından dplyr veya data.table yaklaşımını kullanmanız önerilir.

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’de gruba göre toplam nasıl hesaplanır
R’de gruba göre nicelikler nasıl hesaplanır

Yorum ekle

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