为什么我的R脚本只打印最后一个语句

时间:2013-10-20 09:29:08

标签: r

我有这个脚本从目录中读取一些数据。我想将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),然后是工作目录。

1 个答案:

答案 0 :(得分: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)