Cara mudah membuat plot distribusi chi-kuadrat di r


Untuk membuat plot kepadatan distribusi Chi-kuadrat di R, kita dapat menggunakan fungsi berikut:

  • dchisq() untuk membuat fungsi kepadatan probabilitas
  • Curve() untuk memplot fungsi kepadatan probabilitas

Yang perlu kita lakukan untuk membuat plot adalah menentukan derajat kebebasan untuk dchisq() serta titik keluar dan belakang untuk curve() .

Misalnya, kode berikut mengilustrasikan cara membuat plot kepadatan untuk distribusi Chi-kuadrat dengan 10 derajat kebebasan dengan sumbu x plot tersebut antara 0 dan 40:

 curve(dchisq(x, df = 10), from = 0, to = 40)

Mengedit plot kepadatan

Kita juga dapat mengedit plot kepadatan dengan menambahkan judul, mengubah label sumbu Y, menambah lebar garis, dan mengubah warna garis:

 curve(dchisq(x, df = 10), from = 0, to = 40,
      main = 'Chi-Square Distribution (df = 10)', #add title
      ylab = 'Density', #change y-axis label
      lwd = 2, #increase line width to 2
      col = 'steelblue') #change line color to steelblue

Isi plot kepadatan

Selain membuat plot kepadatan, kita dapat mengisi bagian plot menggunakan fungsi polygon() berdasarkan nilai awal dan akhir.

Kode berikut menunjukkan cara mengisi bagian kepadatan plot untuk nilai x antara 10 dan 40:

 #create density curve
curve(dchisq(x, df = 10), from = 0, to = 40,
main = 'Chi-Square Distribution (df = 10)',
ylab = 'Density',
lwd = 2)

#create vector of x values
x_vector <- seq(10, 40)

#create vector of chi-square density values
p_vector <- dchisq(x_vector, df = 10)

#fill in portion of the density plot from 0 to 40
polygon(c(x_vector, rev(x_vector)), c(p_vector, rep(0, length(p_vector))),
        col = adjustcolor('red', alpha=0.3), border = NA)

Kode berikut menunjukkan cara mengisi bagian kepadatan plot untuk nilai x antara 0 dan 10:

 #create density curve
curve(dchisq(x, df = 10), from = 0, to = 40,
main = 'Chi-Square Distribution (df = 10)',
ylab = 'Density',
lwd = 2)

#create vector of x values
x_vector <- seq( 0, 10 )

#create vector of chi-square density values
p_vector <- dchisq(x_vector, df = 10)

#fill in portion of the density plot from 0 to 10
polygon(c(x_vector, rev(x_vector)), c(p_vector, rep(0, length(p_vector))),
        col = adjustcolor('red', alpha=0.3), border = NA)

Kode berikut mengilustrasikan cara mengisi bagian plot kepadatan untuk nilai x di luar 95% pusat distribusi:

 #create density curve
curve(dchisq(x, df = 10), from = 0, to = 40,
main = 'Chi-Square Distribution (df = 10)',
ylab = 'Density',
lwd = 2)

#find upper and lower values for middle 95% of distribution
lower95 <- qchisq(.025, 10)
upper95 <- qchisq(.975, 10)

#create vector of x values
x_lower95 <- seq(0, lower95)

#create vector of chi-square density values
p_lower95 <- dchisq(x_lower95, df = 10)

#fill in portion of the density plot from 0 to lower 95% value
polygon(c(x_lower95, rev(x_lower95)), c(p_lower95, rep(0, length(p_lower95))),
        col = adjustcolor('red', alpha=0.3), border = NA)

#create vector of x values
x_upper95 <- seq(upper95, 40)

#create vector of chi-square density values
p_upper95 <- dchisq(x_upper95, df = 10)

#fill in portion of the density plot for upper 95% value to end of plot
polygon(c(x_upper95, rev(x_upper95)), c(p_upper95, rep(0, length(p_upper95))),
        col = adjustcolor('red', alpha=0.3), border = NA)

Terakhir, kode berikut mengilustrasikan cara mengisi bagian plot kepadatan untuk nilai x yang berada di dalam 95% pusat distribusi:

 #create density curve
curve(dchisq(x, df = 10), from = 0, to = 40,
main = 'Chi-Square Distribution (df = 10)',
ylab = 'Density',
lwd = 2)

#find upper and lower values for middle 95% of distribution
lower95 <- qchisq(.025, 10)
upper95 <- qchisq(.975, 10)

#create vector of x values
x_vector <- seq(lower95, upper95)

#create vector of chi-square density values
p_vector <- dchisq(x_vector, df = 10)

#fill in density plot
polygon(c(x_vector, rev(x_vector)), c(p_vector, rep(0, length(p_vector))),
        col = adjustcolor('red', alpha=0.3), border = NA)

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *