R 函数显示对象 "obser" 但不会 write.CSV

R function displays object "obser" but won't write.CSV

我的代码可以正常工作并在屏幕上显示 print(obser) 的正确值,但不会写入 .csv,当我尝试 str(obser) 时它给出了错误 object 'obser' not found。我试过各种在线帮助和书籍,功能都写对了。

如果不是 运行 在 RStudio 的控制台中设置函数,而是 运行 在脚本屏幕中逐行创建 csv 文件?

complete <- function(directory= "specdata", id = 1:332){ 

    # directory <- "specdata" 
    # id <- 1:332

    files_list <- list.files(path=directory,full.names=T)[id]
    NumOfFiles <- length(files_list) 
    obser <- data.frame() 
    indivFile <-data.frame()
    nobserv <- vector(mode= "integer", length = NumOfFiles) 

    for (i in 1:NumOfFiles){
        indivFile <- read.csv(files_list[i]) # read data file into df  inc NA's
        indivFile <- na.omit(indivFile) # removes NA prev file
        x <- nrow(indivFile[1]) 
        nobserv[i] <- x
    } 

    x_name <-"ID"
    y_name <-"nobs"
    obser <- data.frame(id, nobserv)

    return(obser) # object returned 
    print(obser)
    wd <- getwd()
    setwd(wd)
    write.csv(obser, file="Observations2.csv")
} 

尝试保存从函数返回的对象。因此:

output<-complete("specdata",id=1:332)
write.csv(output,"Observations2.csv",row.names=F)