gpt4 book ai didi

python - 独立 R 脚本加载依赖项的性能

转载 作者:太空宇宙 更新时间:2023-11-03 20:24:33 25 4
gpt4 key购买 nike

我正在开发一个 Python 应用程序,该应用程序提取数据、转换数据,然后调用可视化数据的脚本。

可视化组件由 R 脚本处理。我知道您可以在 Python 中进行数据可视化,但这不符合我的用例要求。

R 脚本具有以下依赖项:

library('ggplot2')
library('dplyr')
library('tibble')
library('tidyr')
library('readr')
library('grid')
library('gridExtra')
library('magick')
library('ggpubr')
library('stringi')

R 脚本采用 CSV 作为输入,并将图形输出到给定目录。

当 Python 应用程序运行时调用它:

subprocess.call(f"/usr/local/bin/Rscript --vanilla data.csv outdir", shell=True)

该应用程序在我的本地计算机上运行,​​但我希望在 EC2 实例上运行它,并且 R 脚本运行数百次,因此它生成图形的速度非常重要。

我是 R 新手,想了解我使用独立脚本加载库的方法是否高效?当我在云中的计算机上运行应用程序时会发生什么 - 是否必须首先在主机上安装软件包?谢谢。

最佳答案

欢迎来到该网站!

我曾经遇到过类似的问题,我编写了一个函数来安装该包(如果该包不可用),如果可用,则只需加载该包。

以下是函数:

#required libraries
inst_pack <- function(x){
for( i in x ){
# require returns TRUE invisibly if it was able to load package
if( ! require( i , character.only = TRUE , quietly=TRUE ) ){
# If package was not able to be loaded then re-install
suppressWarnings(suppressMessages(install.packages( i ,quietly=TRUE ,character.only = TRUE,message=FALSE)))#, dependencies = TRUE )))
# Load package after installing
suppressWarnings(suppressMessages(library( i , character.only = TRUE, quietly=TRUE)))
}
else{
suppressWarnings(suppressMessages(library( i , character.only = TRUE, quietly=TRUE)))
}
}
}

inst_pack(c("DBI", "RMySQL", "RSQLite", "RODBC", "DMwR", "caret", "dplyr", "forecast", "forecastHybrid", "lubridate",
"sqldf" , "tsintermittent", "odbc","mailR", "data.table","readr","bsts","stringr","tidyr","zoo","reshape2",
"RForcecom","chron"))

加载包时它甚至不显示任何警告消息。

我希望这能回答您的问题。

关于python - 独立 R 脚本加载依赖项的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57937942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com