此部分内容会每日更新,包括但不限于基础知识,进阶知识,数据处理,图表展示,数据分析实战,机器学习算法等~ !!!
本人统计学硕士在读,想在2024年完成sql、python、R语言、stata、matlab等软件的复盘和巩固,目前在做统计学知识和R语言的复习~
后续考虑出相关视频进行讲解说明,请大家持续点赞+收藏+关注哈,大家一起沟通交流~
2.2 数据清洗与整理
(1)缺失值的识别与处理
习题20:
题目:编写代码,将一个数据框中的缺失值用该列的均值替换。
将数据框中的缺失值用该列的均值替换:
# 假设df是你要处理的数据框
df[is.na(df)] <- lapply(df, function(x) ifelse(is.na(x), mean(x, na.rm = TRUE), x))
习题21:
题目:识别一个数据框中的缺失值,并将它们标记为一个新的类别。
识别数据框中的缺失值,并将它们标记为一个新的类别:
# 假设df是你要处理的数据框,并且新类别为'Missing'
df[is.na(df)] <- 'Missing'
习题22:
题目:使用na.omit()
函数去除一个数据框中含有缺失值的行。
使用na.omit()
函数去除含有缺失值的行:
# 假设df是你要处理的数据框
df_clean <- na.omit(df)
习题23:
题目:创建一个函数,该函数接受一个数据框和一个替换值作为参数,将数据框中的所有缺失值替换为指定的替换值。
创建一个函数,将数据框中的所有缺失值替换为指定的替换值:
replace_na <- function(df, replacement) {
df[is.na(df)] <- replacement
return(df)
}
# 使用函数替换缺失值
df_replaced <- replace_na(df, 'ReplacementValue')
习题24:
题目:分析一个数据框,统计每列缺失值的数量,并将结果以数据框的形式返回。
统计每列缺失值的数量,并以数据框的形式返回:
# 计算每列缺失值的数量
na_counts <- colSums(is.na(df))
# 将结果转换为数据框
na_counts_df <- data.frame(Column = names(df), NA_Count = na_counts)
print(na_counts_df)
(2)异常值的检测与修正
习题25:
题目:使用箱线图识别一个数值列中的异常值。
使用箱线图识别数值列中的异常值:
# 假设num_col是包含数值的数据框列
boxplot(df$num_col, main="Boxplot to Identify Outliers", ylab="Value", xlab="Variable")
习题26:
题目:编写一个函数,该函数使用IQR方法检测一个数值向量中的异常值,并返回这些异常值。
使用IQR方法检测数值向量中的异常值:
iqr_outlier_func <- function(vec) {
Q1 <- quantile(vec, probs = 0.25)
Q3 <- quantile(vec, probs = 0.75)
IQR <- IQR(vec)
lower_bound