如何在R中水平打印循环的输出?

时间:2018-03-01 17:35:05

标签: r loops

我正在运行代码并获得如下输出:

  X.0.0189575409702549
1          -0.01895754
2          -0.14051254
3          -0.04389737
4          -0.06815956
5          -0.12350667
6          -0.07588814

而所需的输出应该是这样的:

[1] -0.01895754 -0.14051254 -0.04389737 -0.06815956 -0.12350667 -0.07588814

我的代码如下:

corr<-function(directory, threshold=0){
  files_list<-list.files(directory, full.names = T)
  dat<-data.frame()
  final<-data.frame()
  rcor<-c()
for (i in 1:332) {
  dat<-read.csv(files_list[i])
  comp<-sum(complete.cases(dat))
   if (comp>threshold){
     x<-dat[complete.cases(dat),"sulfate"]
     y<-dat[complete.cases(dat),"nitrate"]
                       rcor<-cor(x,y)
                      final<-rbind(final,rcor)
                      }
  } 
final
}

我尝试过cbind(),但它给了我很多NA。我完全失去了,非常感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

corr<-function(directory, threshold=0){
  files_list<-list.files(directory, full.names = T)
  dat<-data.frame()
  final<-data.frame()
  rcor<-c()
for (i in 1:332) {
  dat<-read.csv(files_list[i])
  comp<-sum(complete.cases(dat))
   if (comp>threshold){
     x<-dat[complete.cases(dat),"sulfate"]
     y<-dat[complete.cases(dat),"nitrate"]
                       rcor<-cor(x,y)
                      final<-rbind(final,rcor)
                      }
  } 
as.vector(final) 
}