#用法
sweep(x, MARGIN, STATS, FUN="-", check.margin = TRUE, ...)
#x:即要處理的原數(shù)據(jù)集
#MARGIN:對(duì)行或列抵赢,或者數(shù)列的其他維度進(jìn)行操作,與apply的用法一樣愈犹,MARGIN=1表示行肄梨,MARGIN=2表示列
#STATS:需要對(duì)原數(shù)據(jù)集操作用到的統(tǒng)計(jì)量
#FUN:操作需要用到的四則運(yùn)算阻荒,默認(rèn)為減法"-",當(dāng)然也可以修改成"+","*","/"众羡,即加侨赡、乘、除
#check.margin:是否需要檢查維度是否適宜的問題,默認(rèn)為TRUE羊壹。
例樣:
創(chuàng)建一個(gè)4行3列的矩陣
M = matrix( 1:12, ncol=3)
操作:
1.每一行都減去這一行的均值
方法一蓖宦,通過rowMeans函數(shù)來計(jì)算每一行的均值
sweep(M,1,rowMeans(M))
方法二,通過apply函數(shù)來計(jì)算每一行的均值油猫,MARGIN=1稠茂,對(duì)行做操作sweep(M,1,apply(M,1,mean))
2.每一行列都減去這一列的均值
方法一,通過colMeans函數(shù)來計(jì)算每一列的均值
sweep(M,2,colMeans(M))
方法二情妖,通過apply函數(shù)來計(jì)算每一列的均值主慰,MARGIN=2,對(duì)列做操作
sweep(M,2,apply(M,2,mean))
3.四行分別加上1鲫售,2共螺,3,4
sweep (M, 1, c(1: 4), "+")