我不是程序员,只有不到一个月的R经验,但是编写了过去一周读取外部CSV文件的简单脚本。下面的函数从CSV文件中读取数据,最初更复杂,但我在故障排除期间反复缩短它,直到我留下这个:
newfunction <- function(input1, input2) {
processingobject <- read.csv("processing-file.csv")
print(head(processingobject))
}
我可以在脚本中打印头部和整个processingobject
而不会出现问题,但是在脚本结束后,不再存在处理对象。它永远不会出现在RStudio全局环境窗格中。脚本终止后是否仍然存在processingobject
?
脚本运行时不显示任何错误或警告消息。我尝试将processingobject
分配给第二个变量:processingobject2 <- processingobject
,但是在脚本结束后第二个变量也不存在。我也尝试清除全局环境并重新启动RStudio,但这也不起作用。如果在脚本后面的提示符下输入processingobject
,我会收到消息"Error: object 'processingobject' not found"
。就我所知,CSV文件本身是完全正常的。
显然,我必须做一些非常愚蠢的事情。请帮我。感谢。
答案 0 :(得分:0)
您需要在函数中使用return
,并且可重复的示例始终是个好主意。它使人们更容易帮助你。
ncol<- 10
nrow<- 100
x <- matrix(runif(nrow*ncol),nrow,ncol)
write.csv(x,file="example_data.csv")
newfunction <- function(input1) {
processingobject <- read.csv("example_data.csv")
result <- apply(processingobject,2,function(x)x*input1) #doing something to csv with input
print(head(result))
return(result)
}
newcsv <-newfunction(3)