0

我有这个脚本可以从目录中读取一些数据。我想将getwd函数的数据和输出打印到控制台。但是,仅打印最后一条语句的输出。为什么会这样,我怎样才能将所有语句打印到控制台?

这是我的功能

#!/usr/bin/env Rscript
getmonitor <- function(id, directory, summarize=FALSE)
{
    target <- paste(directory, id, '.csv', sep="")
    target 
    dt <- read.csv(target, header=TRUE)
    dt 
    getwd()
}

getmonitor('001', './specdata/')

我希望首先看到输出(来自dt),然后是工作目录。

4

1 回答 1

3

您必须将它们明确地包装在print语句中。现在发生的getwd()是从函数返回的,并在getmonitor完成时打印。

getmonitor <- function(id, directory, summarize=FALSE)
{
    target <- paste(directory, id, '.csv', sep="")
    print(target) 
    dt <- read.csv(target, header=TRUE)
    print(dt) 
    print(getwd())
    return(dt)
}

getmonitor('001', './specdata/')

请注意,我返回dt了,因为我认为这可能是您在函数之外需要的。如果您只需要在函数内部打印一些东西,您可以return(NULL)在最后使用。

于 2013-10-20T09:32:17.967 回答