R语言 去极值
好久好久没有碰过R语言了,正巧赶着今天要汇报,休息了一周后感觉没东西汇报,赶紧看了点文献,编了个proposal应付下。言出必行,既然做了计划,那就得完成。赶巧这事需要去极值。其实老早就打算写个R脚本自动去极值,但是人毕竟还是懒的,今天没办法了,于是自己写一个吧,写的挺简单的,也算是抛砖引个玉,这个脚本最主要是用了while函数,其实在写R脚本里面,while函数用得很少。这里将while函数拿出来,用一下,大伙有更好修改意见的,可以提出来,咱一起改进。
library(outliers)
####Set parameters######
######set input file name
file = “CHI/pheno.txt”
######set which column will be used
index = 3
######set threshold
threshold = 0.05
outfile = paste(file,”remove.outliers”,sep=”.”)
x = read.table(file,header=T)
p=0
while(p < threshold)
{
est = grubbs.test(x[,index])
p = est$p.value
if(p < threshold)
{
x = x[abs(x[,index]) != max(abs(x[,index])),]
cat(est$alternative,”, remove it.\n”,sep=””)
}
}
write.table(x,file=outfile,quote=F,row.names=F,col.names=T,sep=”\t”)
代码主要是用了outliers包,采用的grubbs检验。没有对具体检验方法设定太多的参数,就设定一些简单参数,能用就行。毕竟项目重点不是这个脚本,这也只是冰山一角而已。
转载请注明:数据分析 » R语言 去极值_r语言 极值_r语言培训