小编bhe*_*ner的帖子

如何使用roxygen记录包含具有相同名称的函数的R包?

我正在学习使用roxygen.我看到rd vignette提倡使用"_PACKAGE"来表示我正在创建包文档,并说"如果已经有一个名为pkgname()的函数,这也有效."

我也看过R包书的使用方法

NULL
Run Code Online (Sandbox Code Playgroud)

指定了@docType和@name,但是当我试图用任何一种方法制作一个玩具示例时,它并不像我期望的那样工作.

作为一个玩具示例,我想制作一个包含"hello()"函数的"hello"包.

我希望得到我的问候文件

?hello
Run Code Online (Sandbox Code Playgroud)

或者类似的东西

package?hello
Run Code Online (Sandbox Code Playgroud)

我希望得到有关所包含你好文档功能

?hello()
Run Code Online (Sandbox Code Playgroud)

我哪里错了? - 使用roxygen实现,我试图查询文档的方式,不正确的期望,还是其他什么?

我已经查看了有关包文档函数文档的问题,但对我来说仍然不清楚.

以下是我的玩具示例的一些细节:

你好/描述文件:

Package: hello
Type: Package
Title: A mostly empty package
Version: 0.1
Date: 2016-06-21
Authors@R: person("Some", "Person", email = "fake@madeup.org", role = c("aut", "cre"))
Description: More about what it does (maybe more than one line)
License: MIT
LazyData: TRUE
RoxygenNote: 5.0.1.9000
Run Code Online (Sandbox Code Playgroud)

你好/ R/hello.R

#' hello
#'
#' This is a mostly …
Run Code Online (Sandbox Code Playgroud)

r roxygen roxygen2

12
推荐指数
1
解决办法
782
查看次数

将 purrr::map2() 与 dbplyr 一起使用

我试图从一个表(“位置”)中选择行,其中特定列(“位置”)的值落在另一个表(“my_ranges”)中定义的范围内,然后从“我的范围”表。

我可以使用 tibbles 和几个purrr::map2调用来完成此操作,但相同的方法不适用于 dbplyr 数据库 tibbles。这是预期的行为吗?如果是,我是否应该采取不同的方法来使用 dbplyr 来完成此类任务?

这是我的例子:

library("tidyverse")
set.seed(42)

my_ranges <-
  tibble(
    group_id = c("a", "b", "c", "d"),
    start = c(1, 7, 2, 25),
    end = c(5, 23, 7, 29)
    )

positions <-
  tibble(
    position = as.integer(runif(n = 100, min = 0, max = 30)),
    annotation = stringi::stri_rand_strings(n = 100, length = 10)
  )

# note: this works as I expect and returns a tibble with 106 obs of 3 variables:
result <- map2(.x = …
Run Code Online (Sandbox Code Playgroud)

r purrr tidyverse dbplyr

3
推荐指数
1
解决办法
1303
查看次数

如何使用变量过滤()数据库支持的小标题?

我试图通过管道传输到filter()命令来过滤数据库支持的小标题,并观察到意外的行为:

如果我使用 进行过滤filter(pos == variable),无论我为变量分配什么值,我都会得到相同的结果。但是,使用值进行过滤,例如,filter(pos == 12345)可以工作 - 对于我过滤的每个不同值,结果都会发生变化。

这是惰性评估或 tidyeval 的一个方面吗?filter()使用变量进行数据库支持的 tibble的正确方法是什么?

这是一个可重现的示例:

library(dplyr)

con <- DBI::dbConnect(RSQLite::SQLite(), path = ":dbname:")

ex_data <- tibble(
  pos = c(10510138, 10510507),
  ref = c("CATA", "TCA"),
  alt = c("C", "T")
)

copy_to(con, ex_data, "variants", temporary = FALSE)

toQueryDB <- tbl(con, "variants")

pos = 10510138
(result <- toQueryDB %>% filter(pos == pos)  %>% select(pos, ref, alt) %>% head(1))
# 10510138 CATA  C 

pos = 10510507
(result <- …
Run Code Online (Sandbox Code Playgroud)

r dbplyr

3
推荐指数
1
解决办法
435
查看次数

标签 统计

r ×3

dbplyr ×2

purrr ×1

roxygen ×1

roxygen2 ×1

tidyverse ×1