วิธีวางซ้อนเส้นโค้งปกติบนฮิสโตแกรมใน r (2 ตัวอย่าง)


บ่อยครั้งที่คุณอาจต้องการวางเส้นโค้งปกติบนฮิสโตแกรมในค่า R

ตัวอย่างต่อไปนี้แสดงวิธีดำเนินการในฐาน R และ ggplot2

ตัวอย่างที่ 1: วางเส้นโค้งปกติไว้บนฮิสโตแกรมฐาน R

เราสามารถใช้โค้ดต่อไปนี้เพื่อสร้างฮิสโตแกรมในฐาน R และวางเส้นโค้งปกติบนฮิสโตแกรม:

 #make this example reproducible
set. seed ( 0 )

#define data
data <-rnorm( 1000 )

#create histogram
hist_data <- hist(data)

#define x and y values to use for normal curve
x_values <- seq(min(data), max(data), length = 100 )
y_values <- dnorm(x_values, mean = mean(data), sd = sd(data)) 
y_values <- y_values * diff(hist_data$mids[1:2]) * length(data) 

#overlay normal curve on histogram
lines(x_values, y_values, lwd = 2 )

วางเส้นโค้งปกติบนฮิสโตแกรมใน R

เส้นโค้งสีดำในพล็อตแสดงถึงเส้นโค้งปกติ

คุณสามารถใช้อาร์กิวเมนต์ col , lwd และ lty เพื่อแก้ไขสี ความกว้าง และประเภทของเส้นตามลำดับ:

 #overlay normal curve with custom aesthetics
lines(x_values, y_values, col=' red ', lwd= 5 , lty=' dashed ')

ตัวอย่างที่ 2: วางเส้นโค้งปกติบนฮิสโตแกรมใน ggplot2

เราสามารถใช้โค้ดต่อไปนี้เพื่อสร้างฮิสโตแกรมใน ggplot2 และซ้อนทับเส้นโค้งปกติบนฮิสโตแกรม:

 library (ggplot2)

#make this example reproducible
set. seed ( 0 )

#define data
data <- data. frame (x=rnorm( 1000 ))

#create histogram and overlay normal curve
ggplot(data, aes(x)) +
  geom_histogram(aes(y = ..density..), fill=' lightgray ', col=' black ') +
  stat_function(fun = dnorm, args = list(mean=mean(data$x), sd=sd(data$x)))

ฮิสโตแกรมซ้อนทับใน ggplot2 ใน R

เส้นโค้งสีดำในพล็อตแสดงถึงเส้นโค้งปกติ

คุณสามารถใช้อาร์กิวเมนต์ col , lwd และ lty เพื่อแก้ไขสี ความกว้าง และประเภทของเส้นตามลำดับ:

 #overlay normal curve with custom aesthetics
ggplot(data, aes(x)) +
  geom_histogram(aes(y = ..density..), fill=' lightgray ', col=' black ') +
  stat_function(fun = dnorm, args = list(mean=mean(data$x), sd=sd(data$x)),
                col=' red ', lwd= 2 , lty=' dashed '))

หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับ stat_functionได้ที่นี่

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่นๆ ใน R:

วิธีสร้างฮิสโตแกรมความถี่สัมพัทธ์ใน R
วิธีระบุตัวแบ่งฮิสโตแกรมใน R

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *