dedecms采集規(guī)則各類網(wǎng)站網(wǎng)站生成器
目錄
一、數(shù)據(jù)轉(zhuǎn)換
二、取子集
三、數(shù)據(jù)框的翻轉(zhuǎn)
四、對數(shù)據(jù)框進(jìn)行計算
五、apply的用法?
六、數(shù)據(jù)的中心化與標(biāo)準(zhǔn)化?
七、參考
一、數(shù)據(jù)轉(zhuǎn)換
讀取文件
a <- read.csv('test.csv', header = T)
判斷讀取的類型
class(a)
is.data.frame(a)
強制格式轉(zhuǎn)換數(shù)據(jù)框格式
as.data.frame(a)
強制轉(zhuǎn)換為矩陣格式,每個元素都為一個字符串
as.matrix(data.frame(a))
查看判斷數(shù)據(jù)類型及格式轉(zhuǎn)換方法
methods(is) 和 methods(as)
給向量添加一個維度就會變成矩陣或者數(shù)組
二、取子集
如何對數(shù)據(jù)框取子集
View(b)可以查看數(shù)據(jù)框
使用切片取連續(xù)子集
取不連續(xù)子集
使用 which 進(jìn)行邏輯篩選
這里的? “? ,”是取行
subset() 可以對向量、矩陣、數(shù)據(jù)框取子集
sample(x, n) :無放回抽樣, 每個元素只能抽取一次
設(shè)置replace = T,則是有放回抽樣
對數(shù)據(jù)框進(jìn)行抽樣
數(shù)據(jù)框的合并
data.frame(state.abb, state.area)
cbind(state.abb,state.area):合并列
rbind(state.abb,state.area):合并行要求新數(shù)據(jù)與原數(shù)據(jù)具有相同的列名
cbind,rbind也可以用于矩陣
要求是必須具有相同的行數(shù)或列數(shù)
如果合并的數(shù)據(jù)有重復(fù)項應(yīng)該怎么處理呢
下圖可以看到,51-101是重復(fù)項
duplicated(data3):判斷是否為重復(fù)項
可以取出重復(fù)項,加 “? !”可以取反
使用 unique() 可直接完成去重操作
使用 length(rownames()) 和 length(colnames()) 可以查看行數(shù)和列數(shù)
三、數(shù)據(jù)框的翻轉(zhuǎn)
t():數(shù)據(jù)框翻轉(zhuǎn)
> data4<- t(data)
rev():反向
修改數(shù)據(jù)框中的值
transform(data, colname)
colname命名新的名字,則會生成新的一列
數(shù)據(jù)框排序
sort是對向量進(jìn)行排序,返回排序后的結(jié)果
order也可以對向量進(jìn)行排序,返回的是對應(yīng)值所在的位置,而不是結(jié)果?
order可以根據(jù)索引對數(shù)據(jù)框進(jìn)行排序
取與 order 默認(rèn)相反的順序
在變量前加一個 “ - ”
rank是求秩的函數(shù)
返回向量對應(yīng)元素的排名
四、對數(shù)據(jù)框進(jìn)行計算
將矩陣轉(zhuǎn)為數(shù)據(jù)框
rowSums 計算行和
colMeans 計算列均值
將計算的行和 和 列均值添加到 原數(shù)據(jù)框 中
可以看到,cm 行 Total 列被第一列的值替代
五、apply的用法?
apply(x,MARGIN,FUN)
x是數(shù)組、矩陣或數(shù)據(jù)框;MARGIN等于1代表行,等于2代表列;FUN代表要應(yīng)用的函數(shù)。
如:
apply(WorldPhones,MARGIN=1,FUN = sum)
apply(WorldPhones,MARGIN=2,FUN = mean)
apply(WorldPhones,MARGIN=2,FUN = Var)
apply(WorldPhones,MARGIN=2,FUN = log)
其他apply系列函數(shù)
lapply(x,FUN):l 代表list,x是列表,返回值是列表。
sapply(x,FUN):s代表simplify,x是列表,返回值是向量或者矩陣。
tapply(x,INDEX,FUN):x是向量或其他,INDEX是一組因子,利用這個因子,可以對第一個參數(shù)的數(shù)據(jù)進(jìn)行分組。
六、數(shù)據(jù)的中心化與標(biāo)準(zhǔn)化?
數(shù)據(jù)中心化:是指數(shù)據(jù)集中的各項數(shù)據(jù)減去數(shù)據(jù)集的均值。
數(shù)據(jù)標(biāo)準(zhǔn)化:是指在中心化之后再除以數(shù)據(jù)集的標(biāo)準(zhǔn)差,即數(shù)據(jù)集中的各項數(shù)據(jù)減去數(shù)據(jù)集的均值再除以數(shù)據(jù)集的標(biāo)準(zhǔn)差。
簡單來看:?
x <- c(1,2,3,6,3)
中心化:x-mean(x)
標(biāo)準(zhǔn)化:(x-mean(x))/sd(x)R中實現(xiàn)數(shù)據(jù)中心化和標(biāo)準(zhǔn)化可以使用scale函數(shù):
scale(x,center,scale):center為TRUE就是做中心化處理,scale為TRUE就是做標(biāo)準(zhǔn)化處理。
七、參考
R語言入門與數(shù)據(jù)分析