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