全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
24641 3
2015-03-02
f <- function(directory,threshold){
  files_list <- list.files(directory, full.names=T)
  u<-numeric()
  for (i in 1:332){

    dat <- read.csv(files_list[i])
    m   <- na.omit(dat)
    c   <- nrow(m)
    if (c>threshold){
      x<-m["nitrate"]
      y<-m["sulfate"]

      u[i]<-cor(x,y)
    }
    i<-i+1
  }
  u
}


这是求cor的一个函数,输入f("specdata",150),显示结果为
[1]           NA -0.018957541 -0.140512544 -0.043897372 -0.068159562 -0.123506666
  [7] -0.075888144 -0.159673652 -0.086841940           NA  0.763128837           NA
[13]           NA           NA           NA           NA -0.157828603           N A
[19] -0.156998919           NA -0.044898818           NA  0.117249264  0.259057178

想把里面的NA去掉,当c<threshold的时候,不出现NA,直接进行下一个计算,不知道怎么改

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-3-2 14:35:30
b<-a[-which(is.na(a))]
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-3-2 15:15:13
na.omit()
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-3-2 17:12:01
如果是NA出现if and only if  c<threshold, 那么源程序这部分这样试一下呗
if (c>threshold){...} else {i <- i + 1; next}
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群