數(shù)據(jù)讀取
基礎函數(shù):
read.csv()
:用于讀取以逗號為分隔符的CSV文件。read.table()
:更通用的函數(shù),可以讀取以空格、制表符等為分隔符的文本文件。load()
:用于加載RData文件,這些文件通常是通過save()
函數(shù)保存的。readRDS()
:用于讀取RDS格式的二進制數(shù)據(jù)文件。
高效讀取包:
- readr包:提供了
read_csv()
、read_tsv()
等函數(shù),這些函數(shù)通常比基礎函數(shù)更快,且更易于處理大型數(shù)據(jù)集。 - data.table包:其
fread()
函數(shù)是讀取CSV文件的高效工具,特別適用于大數(shù)據(jù)集。 - readxl包:專門用于讀取Excel文件,提供了
read_excel()
函數(shù)。 - haven包:用于讀取SPSS、SAS、STATA等其他統(tǒng)計軟件的數(shù)據(jù)文件。
- readr包:提供了
數(shù)據(jù)清洗
處理缺失值:
is.na()
:用于檢測缺失值。na.omit()
:刪除包含缺失值的觀測行。na.fill()
、na.approx()
等(來自zoo包):用于填充缺失值。- 在進行計算時,可以使用
na.rm = TRUE
參數(shù)來忽略缺失值。
處理重復值:
duplicated()
:用于查找重復值。unique()
:刪除重復值,返回*值。
數(shù)據(jù)轉換:
as.factor()
、as.numeric()
、as.character()
等:用于數(shù)據(jù)類型轉換。scale()
:用于數(shù)據(jù)標準化,即將數(shù)據(jù)轉換為均值為0、標準差為1的形式。normalize()
(來自某些特定包,如caret包):用于數(shù)據(jù)歸一化,即將數(shù)據(jù)縮放到一個特定的范圍(如0到1)。
數(shù)據(jù)篩選和篩選:
subset()
:根據(jù)條件篩選數(shù)據(jù)。- 使用dp*r包中的
filter()
、select()
等函數(shù)進行更復雜的數(shù)據(jù)篩選和列選擇。
數(shù)據(jù)合并:
merge()
:用于合并兩個數(shù)據(jù)集,通常基于一個或多個共同列。rbind()
、cbind()
:分別用于按行或按列合并數(shù)據(jù)集。
數(shù)據(jù)分組和匯總:
- 使用dp*r包中的
group_by()
、summarize()
等函數(shù)進行數(shù)據(jù)的分組和匯總操作。
- 使用dp*r包中的
其他清洗工具:
- tidyr包:提供了
separate()
、unite()
、gather()
、*()
等函數(shù),用于數(shù)據(jù)整理和轉換,如拆分列、合并列、行列轉換等。 - stringr包:提供了豐富的字符串處理函數(shù),如
str_replace()
、str_trim()
、str_to_lower()
等,用于字符串的匹配、替換、截取等操作。
- tidyr包:提供了