更改R包中的函数并在Ubuntu上安装
简短问题:我想编辑更改R包中的函数并在Ubuntu上安装,r,postgresql,ubuntu,devtools,R,Postgresql,Ubuntu,Devtools,简短问题:我想编辑RPostgreSQL包中的postgresqlWriteTable函数,并将其安装到运行在Ubuntu机器上的R上 详细解释: 我的问题的根源是,我试图使用dbWriteTablefromRPostgreSQLpackage从R向具有自动递增主键列的postgres表写入数据 我读了这篇文章:它建议通过更改RPostgreSQL包中的函数postgresqlWriteTable来解决我的问题。当我在OSX环境中以交互方式使用fixInNamespace并编辑函数时,它会起作用
RPostgreSQL
包中的postgresqlWriteTable
函数,并将其安装到运行在Ubuntu机器上的R上
详细解释:
我的问题的根源是,我试图使用dbWriteTable
fromRPostgreSQL
package从R向具有自动递增主键列的postgres表写入数据
我读了这篇文章:它建议通过更改RPostgreSQL
包中的函数postgresqlWriteTable
来解决我的问题。当我在OSX环境中以交互方式使用fixInNamespace
并编辑函数时,它会起作用
不幸的是,我必须在Ubuntu上运行R的AWS实例上运行我的脚本。我已将RPostgreSQL
安装在我的计算机上的以下位置:/usr/local/lib/R/site library/RPostgreSQL
。我通过调用R CMD install RPostgreSQL_0.4-1.tar.gz安装了它
现在我正在尝试查找函数postgresqlWriteTable
。它应该在文件PostgreSQLSupport.R
中。我搜索了整个图书馆——没有这样的档案
我意识到在OSX Finder的本地机器上,当我解压缩tar.gz包文件夹时,我可以看到文件PostgreSQLSupport.R
,我应该在那里更改函数
所以我改变了函数。然后,我从我的Ubuntu机器上删除了已安装的RPostgreSQL,并将新文件夹(从我的本地机器上)复制到我的Ubuntu机器上,并尝试使用devtools
安装程序包,如本文所示:
发生的事情如下:
> library("devtools")
> install("/usr/local/lib/R/site-library/RPostgreSQL")
Error: Can't find '/usr/local/lib/R/site-library/RPostgreSQL'.
> install("RPostgreSQL", "/usr/local/lib/R/site-library/RPostgreSQL")
Installing RPostgreSQL
'/usr/lib/R/bin/R' --no-site-file --no-environ --no-save --no-restore --quiet \
CMD INSTALL '/datasci/nikhil/RPostgreSQL' \
--library='/usr/local/lib/R/site-library' --install-tests
* installing *source* package ‘RPostgreSQL’ ...
file ‘R/PostgreSQLSupport.R’ has the wrong MD5 checksum
ERROR: 'configure' exists but is not executable -- see the 'R Installation and Administration Manual'
* removing ‘/usr/local/lib/R/site-library/RPostgreSQL’
Error: Command failed (1)
我已经智穷了
.tar.gz
文件复制到AWS机器上李>
说明
文件中的版本号devtools::build
创建一个新的.tar.gz
文件.tar.gz
文件复制到AWS机器上李>
说明
文件中的版本号devtools::build
创建一个新的.tar.gz
文件Drk.EdDbBeTeTe你想加入进来吗?因为你是其中的一个贡献者。如果您认为您的调整可以在不破坏当前功能的情况下使其他用户受益。老实说,我还没有足够的能力知道这一点,但是@dirk.eddelbuettel是
RPostgreSQL
的贡献者之一,并且他已经被标记。@dirk.eddelbuettel既然您是贡献者之一,您想参与进来吗?也请考虑和也许(尽管这个页面看起来很不活跃),如果你认为你的调整可以有益于其他用户而不破坏当前功能。老实说,我还不够先进,但是@ Drk.EdelBueTeleTo是<代码> RPGRESRQL