使用循环时,在R中对Require / library调用进行正确放置/最佳实践

时间:2014-03-23 15:02:06

标签: r recursion while-loop

我在R中有一个使用几个库的函数。我已经在函数本身中调用了这些库。当程序的主要部分运行时,可以多次调用此函数。该函数绘制数据,我可能想要也可能不想运行。

这是一个问题吗?我认为最好通过require或库调用一次库。但是,将库调用放在程序的主要部分中是没有意义的,因为根本不能调用该函数。

功能在这里:

CreateChartOfStrikeTimes <- function(Symbol)
{
  filename = paste(Symbol, "All Strikes.csv", sep=" ")
  data = read.csv(filename, stringsAsFactors=FALSE)
  colnames(data) <- c("Date", "Strike Crossed")
  data$hour <- as.numeric(strftime(data$Date, format="%H"))

   library(reshape)
   hourcount <- melt(table(data$hour))  
  colnames(hourcount) <- c("Hour", "Strike.Crosses")

  library(ggplot2)
  chart <- ggplot(hourcount, aes(x = Hour, y = Strike.Crosses)) +
    theme_bw() +
    geom_bar(stat = "identity") +
    labs(title=paste(Symbol,"Number of Strike Crosses Across All Fridays", sep=" "),
         x = "Hour Of Day In Which Cross Occurred",
         y = "Num Of Strike Crosses"
         ) +
    geom_text(aes(label = Strike.Crosses, y = Strike.Crosses+1), size = 4) +
    scale_x_continuous(breaks = hourcount$Hour)

  ggsave(filename=paste(Symbol, ".pdf", sep=""), plot=chart, width=11, height=8.5,
         units="in")
}

谢谢。

0 个答案:

没有答案