Tidy Data Patterns
Tidy Rows
Filter One Measurement Type
A tidy table keeps one observation per row and records the measurement name in a column.
Program
Play the script to choose a measurement type, filter matching rows, and average their values.
tidy_rows.R
measurements <- data.frame(site = c("north", "north", "south", "south"), metric = c("temp", "rain", "temp", "rain"), value = c(18, 4, 21, 6))
metric_index <-
metric <- c("temp", "rain")[metric_index]
selected <- measurements[measurements$metric == metric, ]
average <- mean(selected$value)
cat(average, "\n", sep = "")
measurements <- data.frame(site = c("north", "north", "south", "south"), metric = c("temp", "rain", "temp", "rain"), value = c(18, 4, 21, 6))
metric_index <-
metric <- c("temp", "rain")[metric_index]
selected <- measurements[measurements$metric == metric, ]
average <- mean(selected$value)
cat(average, "\n", sep = "")
tidy rows
Each row is one observation: a site, a metric name, and a value.
filter
`measurements$metric == metric` keeps rows for the chosen measurement.
summary
`mean(selected$value)` summarizes only the filtered rows.