我正在学习使用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) 我试图从一个表(“位置”)中选择行,其中特定列(“位置”)的值落在另一个表(“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) 我试图通过管道传输到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)