自定义程序包抛出无效的.internal.selfref检测到数据表警告

时间:2019-06-24 00:57:01

标签: r r-package

请参阅此Stackoverflow question,以获取有关此问题的背景信息。根据{{​​1}}的评论,我对@jangorecki进行了如下更改:'

**exploit_url.R**

按照步骤1和步骤2进行操作,#' @export #' @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)]) } NAMESPACE中的所有内容均已处理。我收到一条警告消息,输出正确。

名称空间:

DESCRIPTION

说明:

# Generated by roxygen2: do not edit by hand

import(data.table)

输出: enter image description here

新警告:

Package: poweR
Title: What the Package Does (One Line, Title Case)
Version: 0.0.0.9000
Authors@R: 
    person(given = "First",
           family = "Last",
           role = c("aut", "cre"),
           email = "first.last@example.com",
           comment = c(ORCID = "YOUR-ORCID-ID"))
Description: What the package does (one paragraph).
License: What license it uses
Encoding: UTF-8
LazyData: true
Imports: 
    data.table
RoxygenNote: 6.1.1.9000

1 个答案:

答案 0 :(得分:0)

阅读警告消息后,我意识到这可能是由于创建data.table的方式所致。进一步的研究使我想到了Stackoverflow link,这有助于我理解自己做错了什么。

我使用了以下代码:

# Create dataframe for testing
dput(head(cve_exploitdb[c(1:4),]))

基于该帖子,我们应该避免将data.table复制到列表中。出于好奇,我在原始data.table上运行了package函数,但它没有警告消息就起作用了