首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用data.table自定义函数创建自定义R包

使用data.table自定义函数创建自定义R包
EN

Stack Overflow用户
提问于 2019-06-23 10:05:02
回答 1查看 189关注 0票数 1

我想按照这些非常清晰和简单的说明创建一个包,https://hilaryparker.com/2014/04/29/writing-an-r-package-from-scratch/然而,当以下函数不在包中时它可以工作,但当它在包中时不起作用。

要重现此过程,请在默认文件夹中运行以下命令:Step 1

代码语言:javascript
复制
library("devtools")
library(roxygen2)
create_package("poweR")

这将把您带到一个新窗口,并在该窗口中:Step 2

exploit_url.R:创建此包并将其复制到包的R文件夹中

代码语言:javascript
复制
#' @import data.table
exploit_url <- function(df, href, target, anchor, new_col) {
  return(df[, (new_col) := paste0("<a href='", df[[href]], "' target='", target, "'>", df[[anchor]], "</a>", "<br>")][, c(1, 3:6, 8)])
}

然后在创建文件并将文件复制/保存到包的R文件夹后,执行以下命令:

代码语言:javascript
复制
library(devtools)
use_package("data.table")
document()
build()
install()

关闭该窗口并返回到窗口步骤1

代码语言:javascript
复制
library("poweR")
library(data.table)
DT <- structure(list(cveid = c("CVE-2008-4726", "CVE-2018-18798", "CVE-2001-0791", 
                             "CVE-2005-1823"), EDB_ID = c("6804", "45727", "20893", "25766"
                             ), Type = c("remote", "webapps", "remote", "webapps"), 
                   Platform = c("Windows","PHP", "Windows", "PHP"), 
                   E_DB_Verified = c("Verified", "Waiting verification", "Verified", "Verified"), 
                   E_DB_Published = c("2008-10-22", "2018-10-29", "2001-05-24", "2005-05-30"), 
                   url = c("https://www.exploit-db.com/exploits/6804/","https://www.exploit-db.com/exploits/45727/", 
                           "https://www.exploit-db.com/exploits/20893/", "https://www.exploit-db.com/exploits/25766/")), 
                   class = c("data.table", "data.frame"), row.names = c(NA, -4L))


DT <- exploit_url(DT, "url", '_blank', "E_DB_Verified", "exploitdburl")

我得到以下错误:

代码语言:javascript
复制
Error in exploit_url(DT, "url", "_blank", "E_DB_Verified", "exploitdburl") : 
  could not find function "exploit_url" 

我是不是漏掉了什么?欢迎提出任何建议。

EN

回答 1

Stack Overflow用户

发布于 2019-06-24 02:52:42

根据@jangorecki的评论解决了这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56720520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档