# 加载数据集
data(airquality)
# 查看数据集
str(airquality)
head(airquality)
查看NA
colSums(is.na(airquality))
去除NA
airquality_no_na <- na.omit(airquality)
再次check NA
colSums(is.na(airquality_no_na))
查看duplicates
duplicated_rows <- duplicated(airquality_no_na)
sum(duplicated_rows)
去除duplicates
airquality_no_dup <- unique(airquality_no_na)
查看typo(在这个例子中,数据集没有文本列,所以跳过这一步)用另外一个数据集举例子
# 加载数据集
data(mtcars)
mtcars
# 假设在"carb"列中,"4"被错误地输入为"4x"
mtcars$carb[c(1, 10)] <- "4x"
# 查看"carb"列的唯一值
unique(mtcars$carb)
# 查找包含"x"的行(假设"x"是一个typo标志)
grep("x", mtcars$carb)
# 将"4x"替换为"4"
mtcars$carb <- gsub("4x", "4", mtcars$carb)
# 再次查看"carb"列的唯一值,确认typo已被去除
unique(mtcars$carb)
进行长宽数据转换(如果有必要)
长数据转换
library(tidyr)
airquality_long <- gather(airquality_no_dup, key = "variable", value = "value", -Month, -Day)
-
airquality_no_dup:这是输入数据集,它应该是一个数据框(data frame)或类似的结构,其中包含多个列,这些列将被转换成长格式。
-
key:这是新数据集中用于存储原始列名的列名。在这个例子中,它被设置为 "variable"。
-
value:这是新数据集中用于存储原始列值的列名。在这个例子中,它被设置为 "value""。
-Month 和 -Day:这些是选择器,表示在转换过程中,Month 和 Day 这两列将保持不变,不被转换为长格式。- 前缀表示排除这些列。
宽数据转换
# 假设df是长格式的数据框
wide_data <- df %>%
pivot_wider(names_from = column_to_spread, values_from = column_to_copy)
data_wide <- airquality_long %>%
pivot_wider(names_from = variable,values_from = value)
再次查看数据集确认满足要求,清洗完成
str(airquality_long)
head(airquality_long)
head(data_wide)
标签:总结,no,mtcars,数据,流程,carb,清洗,data,airquality
From: https://www.cnblogs.com/chen-heybro/p/18208112