Meteorite Landings on Earths
1. Check basic stats
# Check the number of rows and columns
dim(Meteorite)
## [1] 45716 10
# Display names of the variables
names(Meteorite)
## [1] "name" "id" "nametype" "recclass" "mass..g."
## [6] "fall" "year" "reclat" "reclong" "GeoLocation"
# Generate summary statistics for dataset
summary(Meteorite)
## name id nametype recclass
## Length :45716 Min. : 1 Length :45716 Length :45716
## N.unique :45716 1st Qu.:12689 N.unique : 2 N.unique : 466
## N.blank : 0 Median :24262 N.blank : 0 N.blank : 0
## Min.nchar: 2 Mean :26890 Min.nchar: 5 Min.nchar: 1
## Max.nchar: 28 3rd Qu.:40657 Max.nchar: 6 Max.nchar: 26
## Max. :57458
##
## mass..g. fall year reclat
## Min. : 0 Length :45716 Min. : 860 Min. :-87.37
## 1st Qu.: 7 N.unique : 2 1st Qu.:1987 1st Qu.:-76.71
## Median : 33 N.blank : 0 Median :1998 Median :-71.50
## Mean : 13278 Min.nchar: 4 Mean :1992 Mean :-39.12
## 3rd Qu.: 203 Max.nchar: 5 3rd Qu.:2003 3rd Qu.: 0.00
## Max. :60000000 Max. :2101 Max. : 81.17
## NAs :131 NAs :291 NAs :7315
## reclong GeoLocation
## Min. :-165.43 Length :45716
## 1st Qu.: 0.00 N.unique :17101
## Median : 35.67 N.blank : 7315
## Mean : 61.07 Min.nchar: 0
## 3rd Qu.: 157.17 Max.nchar: 24
## Max. : 354.47
## NAs :7315
Trends of meteorite landings over years
# Remove rows with missing year values, and select range of years for the analysis
meteorite_year <- Meteorite %>%
filter(!is.na(year)) %>%
filter(year >= 2000, year <= 2026) %>%
count(year)
# plot line chart that can show changes over time
ggplot(meteorite_year, aes(x = year, y = n)) +
geom_line() +
labs(
title = "Meteorite Records Over Time",
x = "Year",
y = "Number of Meteorites"
)

Conclusion:
The number of recorded meteorites varied significantly over the
years. The highest number of records occurred around 2003, followed by
another increase around 2006. After 2009, the number generally
decreased. This pattern shows that meteorite records were not evenly
distributed across years and that some years had substantially more
recorded meteorites than others.
Distribution of different meteorite mass
mass_clean <- Meteorite$mass..g.[
!is.na(Meteorite$mass..g.) &
Meteorite$mass..g. > 0
]
hist(
log10(mass_clean),
breaks = 30,
main = "Distribution of Meteorite Mass",
xlab = "Log10 Mass (g)",
ylab = "Frequency"
)

Table for better understanding the comparison between Log(mass) and
actual mass
mass_table <- data.frame( `Log10 Mass` = 0:6, `Actual Mass` = c("1 g","10 g","100 g","1,000 g","10,000 g","100,000 g","1,000,000 g"))
knitr::kable(mass_table, caption = "Interpretation of Log10 Meteorite Mass")
Interpretation of Log10 Meteorite Mass
| 0 |
1 g |
| 1 |
10 g |
| 2 |
100 g |
| 3 |
1,000 g |
| 4 |
10,000 g |
| 5 |
100,000 g |
| 6 |
1,000,000 g |
Figure 2. Distribution of Meteorite Mass: The histogram shows the
distribution of meteorite mass after applying a log10 transformation.
Most meteorites are concentrated between approximately 1 gram and 1,000
grams, while a relatively small number of meteorites have extremely
large masses. The distribution still shows a right tail, indicating that
very large meteorites are much less common.
Conclusion
Meteorite masses vary substantially. Most meteorites in the dataset
are relatively small, while only a small number have extremely large
masses. The original mass distribution was highly right-skewed, so a
log10 transformation was used to make the distribution easier to
visualize and interpret.