数据读取
基础函数:
read.csv():用于读取以逗号为分隔符的CSV文件。read.table():更通用的函数,可以读取以空格、制表符等为分隔符的文本文件。load():用于加载RData文件,这些文件通常是通过save()函数保存的。readRDS():用于读取RDS格式的二进制数据文件。
高效读取包:
- readr包:提供了
read_csv()、read_tsv()等函数,这些函数通常比基础函数更快,且更易于处理大型数据集。 - data.table包:其
fread()函数是读取CSV文件的高效工具,特别适用于大数据集。 - readxl包:专门用于读取Excel文件,提供了
read_excel()函数。 - haven包:用于读取SPSS、SAS、STATA等其他统计软件的数据文件。
- readr包:提供了
数据清洗
处理缺失值:
is.na():用于检测缺失值。na.omit():删除包含缺失值的观测行。na.fill()、na.approx()等(来自zoo包):用于填充缺失值。- 在进行计算时,可以使用
na.rm = TRUE参数来忽略缺失值。
处理重复值:
duplicated():用于查找重复值。unique():删除重复值,返回*值。
数据转换:
as.factor()、as.numeric()、as.character()等:用于数据类型转换。scale():用于数据标准化,即将数据转换为均值为0、标准差为1的形式。normalize()(来自某些特定包,如caret包):用于数据归一化,即将数据缩放到一个特定的范围(如0到1)。
数据筛选和筛选:
subset():根据条件筛选数据。- 使用dp*r包中的
filter()、select()等函数进行更复杂的数据筛选和列选择。
数据合并:
merge():用于合并两个数据集,通常基于一个或多个共同列。rbind()、cbind():分别用于按行或按列合并数据集。
数据分组和汇总:
- 使用dp*r包中的
group_by()、summarize()等函数进行数据的分组和汇总操作。
- 使用dp*r包中的
其他清洗工具:
- tidyr包:提供了
separate()、unite()、gather()、*()等函数,用于数据整理和转换,如拆分列、合并列、行列转换等。 - stringr包:提供了丰富的字符串处理函数,如
str_replace()、str_trim()、str_to_lower()等,用于字符串的匹配、替换、截取等操作。
- tidyr包:提供了