This report analyzes resting heart rate data for 65 males and 65 female using R language.
Data Preparation
data<-read.csv("normtemp.csv")
data$Sex <- factor(data$Sex, levels = c(1, 2), labels = c("Male", "Female"))
str(data)
## 'data.frame': 130 obs. of 3 variables:
## $ Temp : num 96.3 96.7 96.9 97 97.1 97.1 97.1 97.2 97.3 97.4 ...
## $ Sex : Factor w/ 2 levels "Male","Female": 1 1 1 1 1 1 1 1 1 1 ...
## $ Beats: int 70 71 74 80 73 75 82 64 69 70 ...
data
## Temp Sex Beats
## 1 96.3 Male 70
## 2 96.7 Male 71
## 3 96.9 Male 74
## 4 97.0 Male 80
## 5 97.1 Male 73
## 6 97.1 Male 75
## 7 97.1 Male 82
## 8 97.2 Male 64
## 9 97.3 Male 69
## 10 97.4 Male 70
## 11 97.4 Male 68
## 12 97.4 Male 72
## 13 97.4 Male 78
## 14 97.5 Male 70
## 15 97.5 Male 75
## 16 97.6 Male 74
## 17 97.6 Male 69
## 18 97.6 Male 73
## 19 97.7 Male 77
## 20 97.8 Male 58
## 21 97.8 Male 73
## 22 97.8 Male 65
## 23 97.8 Male 74
## 24 97.9 Male 76
## 25 97.9 Male 72
## 26 98.0 Male 78
## 27 98.0 Male 71
## 28 98.0 Male 74
## 29 98.0 Male 67
## 30 98.0 Male 64
## 31 98.0 Male 78
## 32 98.1 Male 73
## 33 98.1 Male 67
## 34 98.2 Male 66
## 35 98.2 Male 64
## 36 98.2 Male 71
## 37 98.2 Male 72
## 38 98.3 Male 86
## 39 98.3 Male 72
## 40 98.4 Male 68
## 41 98.4 Male 70
## 42 98.4 Male 82
## 43 98.4 Male 84
## 44 98.5 Male 68
## 45 98.5 Male 71
## 46 98.6 Male 77
## 47 98.6 Male 78
## 48 98.6 Male 83
## 49 98.6 Male 66
## 50 98.6 Male 70
## 51 98.6 Male 82
## 52 98.7 Male 73
## 53 98.7 Male 78
## 54 98.8 Male 78
## 55 98.8 Male 81
## 56 98.8 Male 78
## 57 98.9 Male 80
## 58 99.0 Male 75
## 59 99.0 Male 79
## 60 99.0 Male 81
## 61 99.1 Male 71
## 62 99.2 Male 83
## 63 99.3 Male 63
## 64 99.4 Male 70
## 65 99.5 Male 75
## 66 96.4 Female 69
## 67 96.7 Female 62
## 68 96.8 Female 75
## 69 97.2 Female 66
## 70 97.2 Female 68
## 71 97.4 Female 57
## 72 97.6 Female 61
## 73 97.7 Female 84
## 74 97.7 Female 61
## 75 97.8 Female 77
## 76 97.8 Female 62
## 77 97.8 Female 71
## 78 97.9 Female 68
## 79 97.9 Female 69
## 80 97.9 Female 79
## 81 98.0 Female 76
## 82 98.0 Female 87
## 83 98.0 Female 78
## 84 98.0 Female 73
## 85 98.0 Female 89
## 86 98.1 Female 81
## 87 98.2 Female 73
## 88 98.2 Female 64
## 89 98.2 Female 65
## 90 98.2 Female 73
## 91 98.2 Female 69
## 92 98.2 Female 57
## 93 98.3 Female 79
## 94 98.3 Female 78
## 95 98.3 Female 80
## 96 98.4 Female 79
## 97 98.4 Female 81
## 98 98.4 Female 73
## 99 98.4 Female 74
## 100 98.4 Female 84
## 101 98.5 Female 83
## 102 98.6 Female 82
## 103 98.6 Female 85
## 104 98.6 Female 86
## 105 98.6 Female 77
## 106 98.7 Female 72
## 107 98.7 Female 79
## 108 98.7 Female 59
## 109 98.7 Female 64
## 110 98.7 Female 65
## 111 98.7 Female 82
## 112 98.8 Female 64
## 113 98.8 Female 70
## 114 98.8 Female 83
## 115 98.8 Female 89
## 116 98.8 Female 69
## 117 98.8 Female 73
## 118 98.8 Female 84
## 119 98.9 Female 76
## 120 99.0 Female 79
## 121 99.0 Female 81
## 122 99.1 Female 80
## 123 99.1 Female 74
## 124 99.2 Female 77
## 125 99.2 Female 66
## 126 99.3 Female 68
## 127 99.4 Female 77
## 128 99.9 Female 79
## 129 100.0 Female 78
## 130 100.8 Female 77
Q1- For males, perform an analysis that includes the descriptive
statistics (e.g. min, max,
sample mean, sample standard deviation, sample median, quartiles),
histogram, and
normal probability plot. Comment on the statistics and plots.Comment on
the statistics and plots. Repeat the same for females. Be sure to
uniquely label the title and x-axis, and color the histograms
(male-
blue, female-pink).
male_stats <- summary(data$Beats[data$Sex == "Male"])
male_sd <- sd(data$Beats[data$Sex == "Male"])
male_stats
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 58.00 70.00 73.00 73.37 78.00 86.00
male_sd
## [1] 5.875184
hist(data$Beats[data$Sex == "Male"],
main = "Male Heart Rate Distribution ",
xlab = "Heart Rate (beats per minute)",
col = "blue")
qqnorm(data$Beats[data$Sex == "Male"],
main = "Q-Q Plot: Male Heart Rate Normality Check")
My Interpretation of Male Data:
Most male heart rates fall between 65–80 bpm, consistent with normal resting ranges. The distribution is slightly right-skewed, indicating more high values than low ones. The standard deviation shows moderate variability, and the Q–Q plot suggests near normality overall, with deviations at the extremes.
female_stats<-summary(data$Beats[data$Sex == "Female"])
female_stats
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 57.00 68.00 76.00 74.15 80.00 89.00
female_sd<-sd(data$Beats[data$Sex=="Female"])
female_sd
## [1] 8.105227
hist(data$Beats[data$Sex == "Female"], main = "Female Heart Rate Distribution ", xlab = "Heart Rate (beats per minute)" , col = "pink")
qqnorm(data$Beats[data$Sex=="Female"], main = "Q-Q Plot: Female Heart Rate Normality Check")
My Interpretation of Female Data: Female heart rates show greater spread, with more high outliers than males. The Q–Q plot indicates clear departures from normality, especially in the upper range.
boxplot(Beats ~ Sex, data = data,
main = "Heart Rate Comparison: Males vs. Females",
xlab = "Gender",
ylab = "Heart Rate (beats per minute)",
col = c("blue", "pink"))
Comparison Insights:The box plots show that females have a slightly higher average heart rate than males. Their heart rates also vary more, with a wider spread and bigger outliers. Males look more balanced around the middle value
# data preperation
data <- read.csv("normtemp.csv")
data$Sex <- factor(data$Sex, levels = c(1, 2), labels = c("Male", "Female"))
# Male analysis
male_stats <- summary(data$Beats[data$Sex == "Male"])
male_sd <- sd(data$Beats[data$Sex == "Male"])
hist(data$Beats[data$Sex == "Male"],
main = "Male Heart Rate Distribution ",
xlab = "Heart Rate (beats per minute)",
col = "blue")
qqnorm(data$Beats[data$Sex == "Male"],
main = "Q-Q Plot: Male Heart Rate Normality Check")
# Female analysis
female_stats <- summary(data$Beats[data$Sex == "Female"])
female_sd <- sd(data$Beats[data$Sex == "Female"])
hist(data$Beats[data$Sex == "Female"],
main = "Female Heart Rate Distribution ",
xlab = "Heart Rate (beats per minute)",
col = "pink")
qqnorm(data$Beats[data$Sex == "Female"],
main = "Q-Q Plot: Female Heart Rate Normality Check")
# Comparison
boxplot(Beats ~ Sex, data = data,
main = "Heart Rate Comparison: Males vs. Females",
xlab = "Gender",
ylab = "Heart Rate (beats per minute)",
col = c("blue", "pink"))