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)
我的代码可以正常工作并在屏幕上显示 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)