#apply(X,MARGIN,FUN,...)
#按行求和
apply(df,1,sum)
#按列求和
apply(df,2,sum)
#df里所有元素重新賦值
apply(df,c(1,2),function(x){x<-100})
#計(jì)算df里每一列的均值,方差瓷胧,最大值(apply方法衡蚂,for方法見下圖)
apply(df,2,function(x){c(mean(x),var(x),max(x))})
#編寫自定義函數(shù)應(yīng)用apply求df里每一列的均值,方差棕硫,最大值
fun_1<_function(x){
c(mean(x),var(x),max(x))
}
apply(df,2,fun_1)
#按列求立方和
apply(df,2,function(x){sum(x^3)})
#針對(duì)列表的數(shù)據(jù)求其每個(gè)子集的均值(lapply方法髓涯,for方法見下圖)
lapply(list,mean)
sapply(list,mean) #lapply函數(shù)的簡化版,輸出結(jié)果為向量
lapply(list,mean,na.rm=T) #若數(shù)據(jù)出現(xiàn)缺失值哈扮,去掉缺失值后計(jì)算纬纪。
#mapply的應(yīng)用,一次可以輸入多個(gè)參數(shù)或一個(gè)參數(shù)需傳入一個(gè)向量對(duì)每個(gè)值都做運(yùn)算。
mapply(function(x,y){x^y},c(2,2),c(2,1))
#綜合應(yīng)用灶泵,自定義嵌合函數(shù)
sapply(list(mean,var,max),
function(x){apply(data,2,x)},
simplify=T)
①apply函數(shù)的基本使用方法
apply函數(shù)無法應(yīng)用于列表育八。
apply函數(shù)結(jié)果圖.png
②計(jì)算df里每一列的均值,方差赦邻,最大值(for函數(shù)方法)
for方法.png
③計(jì)算df里每一列的均值髓棋,方差,最大值(apply方法)
apply方法.png
④數(shù)據(jù)中出現(xiàn)缺失值NA的處理辦法(apply函數(shù)應(yīng)用)
apply處理缺失值的數(shù)據(jù)及解釋FUN后...的意義.png
⑤編寫自定義函數(shù)應(yīng)用apply求df里每一列的均值惶洲,方差按声,最大值
編寫自定義函數(shù)應(yīng)用apply.png
⑥針對(duì)列表的數(shù)據(jù)求其每個(gè)子集的均值(for方法)
①for方法.png
②for方法.png
⑦針對(duì)列表的數(shù)據(jù)求其每個(gè)子集的均值(lapply方法)
lapply應(yīng)用于列表、數(shù)據(jù)框恬吕,輸出形式為列表签则。
lapply(frame,mean)得到輸出形式為列表的frame數(shù)據(jù)里每列的均值
①lapply方法.png
②lapply方法.png
sapply是lapply的簡化版铐料,輸出結(jié)果以向量形式呈現(xiàn)渐裂。
⑧mapply的應(yīng)用
MoreArgs(list(1,2))的含義是常數(shù)a=1,b=2
mapply.png
⑨綜合應(yīng)用豺旬,自定義嵌合函數(shù)
sapply(list(mean,var,max),function(x){apply(data,2,x)},simplify=T)
自定義嵌合函數(shù).png