كيفية رسم التوزيع الطبيعي في r


لرسمالتوزيع الطبيعي في R، يمكننا إما استخدام قاعدة R أو تثبيت حزمة أكثر تعقيدًا مثل ggplot2.

باستخدام BaseR

فيما يلي ثلاثة أمثلة لإنشاء مخطط توزيع عادي باستخدام Base R.

مثال 1: التوزيع الطبيعي بمتوسط = 0 وانحراف معياري = 1

لإنشاء مخطط توزيع طبيعي بمتوسط = 0 وانحراف معياري = 1، يمكننا استخدام الكود التالي:

 #Create a sequence of 100 equally spaced numbers between -4 and 4
x <- seq(-4, 4, length=100)

#create a vector of values that shows the height of the probability distribution
#for each value in x
y <- dnorm(x)

#plot x and y as a scatterplot with connected lines (type = "l") and add
#an x-axis with custom labels
plot(x,y, type = "l", lwd = 2, axes = FALSE, xlab = "", ylab = "")
axis(1, at = -3:3, labels = c("-3s", "-2s", "-1s", "mean", "1s", "2s", "3s"))

يؤدي هذا إلى إنشاء المؤامرة التالية:

مثال 2: التوزيع الطبيعي بمتوسط = 0 وانحراف معياري = 1 (رمز أقل)

يمكننا أيضًا إنشاء مخطط توزيع عادي دون تعريف x و y ، وببساطة استخدام دالة “المنحنى” باستخدام الكود التالي:

 curve(dnorm, -3.5, 3.5, lwd=2, axes = FALSE, xlab = "", ylab = "")
axis(1, at = -3:3, labels = c("-3s", "-2s", "-1s", "mean", "1s", "2s", "3s"))

يؤدي هذا إلى إنشاء نفس المؤامرة تمامًا:

المثال 3: التوزيع الطبيعي مع المتوسط المخصص والانحراف المعياري

لإنشاء مخطط توزيع عادي بمتوسط وانحراف معياري محدد من قبل المستخدم، يمكننا استخدام الكود التالي:

 #define population mean and standard deviation
population_mean <- 50
population_sd <- 5

#define upper and lower bound
lower_bound <- population_mean - population_sd
upper_bound <- population_mean + population_sd

#Create a sequence of 1000 x values based on population mean and standard deviation
x <- seq(-4, 4, length = 1000) * population_sd + population_mean

#create a vector of values that shows the height of the probability distribution
#for each value in x
y <- dnorm(x, population_mean, population_sd)

#plot normal distribution with customized x-axis labels
plot(x,y, type = "l", lwd = 2, axes = FALSE, xlab = "", ylab = "")
sd_axis_bounds = 5
axis_bounds <- seq(-sd_axis_bounds * population_sd + population_mean,
                    sd_axis_bounds * population_sd + population_mean,
                    by = population_sd)
axis(side = 1, at = axis_bounds, pos = 0)

يؤدي هذا إلى إنشاء المؤامرة التالية:

باستخدام ggplot2

هناك طريقة أخرى لإنشاء مخطط توزيع عادي في R وهي استخدام الحزمة ggplot2. فيما يلي مثالان لإنشاء مخطط توزيع عادي باستخدام ggplot2.

مثال 1: التوزيع الطبيعي بمتوسط = 0 وانحراف معياري = 1

لإنشاء مخطط توزيع طبيعي بمتوسط = 0 وانحراف معياري = 1، يمكننا استخدام الكود التالي:

 #install (if not already installed) and load ggplot2
if(!(require(ggplot2))){install.packages('ggplot2')}

#generate a normal distribution plot
ggplot(data.frame(x = c(-4, 4)), aes(x = x)) +
stat_function(fun = dnorm)

يؤدي هذا إلى إنشاء المؤامرة التالية:

مثال 2: التوزيع الطبيعي باستخدام مجموعة بيانات “mtcars”.

يوضح الكود التالي كيفية إنشاء توزيع طبيعي لعمود الأميال لكل جالون في مجموعة بيانات R المضمنة في mtcars :

 ggplot(mtcars, aes(x = mpg)) +
stat_function(
fun = dnorm,
args = with(mtcars, c(mean = mean(mpg), sd = sd(mpg)))
) +
scale_x_continuous("Miles per gallon")

يؤدي هذا إلى إنشاء المؤامرة التالية:

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *