加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

R语言 去极值

(2014-01-07 16:10:23)
标签:

去极值

conda

grubber

文化

分类: R语言

@Conda  好久好久没有碰过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检验。没有对具体检验方法设定太多的参数,就设定一些简单参数,能用就行。毕竟项目重点不是这个脚本,这也只是冰山一角而已。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有