小编Dav*_*RGP的帖子

roxygen2 6.0.0现在在最后一行需要"@export"吗?

在更新到roxygen2版本6.0.0 之前,似乎使用@export不在包中函数头底部的标记支持的包.例如:

#' Title
#' @param foo
#' @return bar
#'
#' @export
#'
#' @seealso Other blah blah
Run Code Online (Sandbox Code Playgroud)

roxygen2使用我的roxygen25.0.1版安装时,上面的代码将成功构建并正确填写命名空间.但是,随着更新,这种形式的文档将无法正常工作,并将roxygen2其从NAMESPACE.R中主动删除.

我可以通过移动@export到底部来解决这个问题

#' Title
#' @param foo
#' @return bar
#'
#' @seealso Other blah blah
#' @export
Run Code Online (Sandbox Code Playgroud)

我的问题是这个问题是否出现在设计中?我在发行说明中看不到任何指定@export更改的内容:https://github.com/klutometis/roxygen/releases/tag/v6.0.0

roxygen2是不是应该如何工作和操作直到这一点是无意的?或者这是故意的改变?

NB显然,对于不同版本制作一个完整的mwe是困难的,任何关于如何解决这种欢迎的建议

编辑:经过进一步测试后,我开始怀疑除此之外还有更多的东西.我正在使用rstudio中的构建和文档快捷方式,我最近也更新了,甚至退回到roxygen25.0.1版本也阻止我重建过去工作的旧函数的文档.

documentation r version roxygen2

24
推荐指数
1
解决办法
476
查看次数

R - 使用带逻辑值的开关

switch() 接受它作为第一个参数

"EXPR表达式,用于评估数字或字符串."

但是,是否可以强制使用逻辑?如果是这样,我在这段代码中做了别的错吗?

我有一个包含数据框中逻辑值的列,我想根据逻辑参数编写一个包含数据框中现有数据值的新列:

exampleCurrent <- data.frame(value = c(5.5, 4.5, 4, 2.9, 2),
                         off = as.logical(c("F", "F", "T", "T", "F")),
                         extremeValue = as.logical(c("F", "F", "F", "F", "T")),
                         eclMinWork = c(5, 5.3, 5, 4.7, 3),
                         eclMinOff = c(4, 3.2, 3, 4, 3))
Run Code Online (Sandbox Code Playgroud)

我想谈谈这个问题:

exampleWanted <- data.frame(value = c(5.5, 4.5, 4, 2.9, 2),
                        off = as.logical(c("F", "F", "T", "T", "F")),
                        extremeValue = as.logical(c("F", "F", "F", "F", "T")),
                        eclMinWork = c(5, 5.3, 5, 4.7, 4),
                        eclMinOff = c(4, 3.2, 3, 4, 3), …
Run Code Online (Sandbox Code Playgroud)

r switch-statement

6
推荐指数
1
解决办法
2668
查看次数

我应该如何在 AWS lambda 实现中处理 joblib 多处理?

我在 AWS 中有一个相对简单的线性回归 lambda。该函数被调用的每个实例日志都会显示以下内容:

/opt/python/sklearn/externals/joblib/_multiprocessing_helpers.py:38: UserWarning: [Errno 38] Function not implemented. joblib will operate in serial mode
Run Code Online (Sandbox Code Playgroud)
warnings.warn('%s. joblib will operate in serial mode' % (e,))
Run Code Online (Sandbox Code Playgroud)

我怀疑这是由于 sklearn 在 lambda(即“无服务器”)上运行并试图根据这个问题这个 GH 问题确定它的多处理能力。

我还从 GH 了解到,这不是一个“可修复”的问题,在该硬件上部署这些依赖项时总会发生这种情况。我正在返回我的预期结果(尽管我目前已最大化默认的最小 lambda 内存 128mb)。

我的目标是控制警告,并知道是否有办法:

  • 停止 sklearn 寻找多处理,从而防止发出警告
  • 捕获此特定警告并防止其从我的函数传递到 cloudwatch 日志中
  • 如果两者都可能,从 aws 架构/pythonic 的观点来看,哪一个更可取?

lambda warnings python-3.x scikit-learn joblib

6
推荐指数
1
解决办法
5068
查看次数

ggplot2中继承的限制是什么?

我一直在尝试解决有关ggplot2的一些问题,以及辅助参数如何从第一部分继承而来ggplot()。具体来说,如果继承是传递给该geom_***部分之外的。

我有一个数据直方图:

ggplot(data = faithful, aes(eruptions)) + geom_histogram()
Run Code Online (Sandbox Code Playgroud)

尽管默认情况下是休息时间,但它会生成一个精美的图表。在我看来(是新来的新手)geom_histogram()是从继承数据规范ggplot()。如果我想以更聪明的方式来设置休息时间,可以使用如下流程:

ggplot(data = faithful, aes(eruptions)) + 
geom_histogram(breaks = seq(from = min(faithful$eruptions), 
                            to = max(faithful$eruptions), length.out = 10))
Run Code Online (Sandbox Code Playgroud)

但是,在这里我要在需要的geom_histogram()功能内重新指定faithful$eruptions。没有重新指定,我一直无法找到一种表达方式。此外,如果我使用data =的参数geom_histogram(),只是指定eruptionsminmaxseq()仍然不明白我的意思的faithful数据集。

我知道这seq不是ggplot2的一部分,但我想知道它是否可以继承,无论它绑定在geom_histogram()哪个内部,而后者本身是从继承的ggplot()。我只是使用了错误的语法,还是可能?

eval r ggplot2

5
推荐指数
1
解决办法
637
查看次数

有没有一种简单的方法可以反转 geom() 内 aes() 内的比例顺序?

我发现了许多示例,描述了在 ggplot2 行中时 alpha 的分配,如下所示:

scale_alpha( variable, trans = reverse)
Run Code Online (Sandbox Code Playgroud)

参考

但是,有没有一种方法可以简单地aes()geom_*().

就像是:

geom_point(aes(colour=variableA, alpha=REVERSE(variableB))
Run Code Online (Sandbox Code Playgroud)

r ggplot2

5
推荐指数
1
解决办法
1231
查看次数

如何使用 .Rmd 和 MiKTeX 2.9 和 R studio knitr 更改 .pdf 输出的字体

经过大量尝试弄清楚 .sty 是什么之后,如果我可以应用 .css 以及 YAML 可以做什么,我已经找到了一种方法,可以成功且简单地在 .PDF 输出中设置字体。

我转到 .Rmd 中的 YAML 标头并使用:

fontfamily:arev
Run Code Online (Sandbox Code Playgroud)

我花了很长时间试图找出为什么sansfont不起作用,我认为原因是因为我的乳胶引擎设置为pdflatex, not xelatexor lualatex。我已经尝试了这两个选项,这导致进程挂起并不得不中止。我安装了 MiKTeX 2.9,所以问题一:

如何更改引擎以停止进程挂起?

其次,我看过一些文档,并且从理论上理解将文件夹中的 .sty 文件作为 LaTeX 渲染的一种设置文件的想法,尽管我一直无法找到它需要什么的直接解释包含,以及它可以做什么。那么问题二:

.sty 文件中包含哪些内容,它会为我的工作流程添加哪些内容?

第三,我终于找到这里,推高了线索我弗朗sansfontfontfamily,虽然文件说,

fontfamily 用于 LaTeX 文档的字体包(使用 pdflatex):TeXLive 有 bookman (Bookman)、utopia 或 Fourier (Utopia)、fouriernc (New Century Schoolbook)、times 或 txfonts (Times)、mathpazo 或 pxfonts 或 mathpple (Palatino)、libertine (Linux Libertine)、arev (Arev Sans) 和默认的 lmodern 等。

这有点帮助,但“除其他外”是非常模糊的,并不表示进一步的资源。

什么“其他”可用。如何检查当前设置中可能提供的内容?

编辑

额外的功劳:我还意识到ggplot2我正在为所有人编译报告的对象都有自己的字体集,在我的情况下,这可能是主题的设置。

将 …

latex r miktex rstudio knitr

5
推荐指数
0
解决办法
891
查看次数

如何最有效地将字符串"01 Jan 2014"转换为POSIXct即"2014-01-01"yyyy-mm-dd

我已经对这里的问题有了部分答案,据我所知,我已经理解了:如何在data.table中最有效地重构字符串以实现快速时间.

但是,任务已经扩展,需要处理原始格式的变化.

我有一个大型数据集,其中包含以下形式的字符类日期列:

01 Jan 2014
Run Code Online (Sandbox Code Playgroud)

要么:

dd MMM yyyy
Run Code Online (Sandbox Code Playgroud)

我想重组fastPOSIXct哪个只能按POSIXct顺序接受字符输入:

yyyy-mm-dd
Run Code Online (Sandbox Code Playgroud)

上面链接的问题指出,一种有效的方法是使用正则表达式然后提供输出fast.time.在这里我需要扩展它以包括一个方法来理解每月缩写,转换为数字,然后重新排列?我该怎么做?我知道有month.abb一个内置的常量.我应该使用它,还是有更聪明的方法?

regex r date posixct

4
推荐指数
1
解决办法
162
查看次数

按 2 个成对向量子集/过滤 data.table

如何获取一个 data.table 对象,并通过另一个表中的两个成对向量在两列上有条件地对其进行子集化。例如,我有一张航班表:

library(data.table)
library(nycflights13)
flights <- data.table(flights)
Run Code Online (Sandbox Code Playgroud)

我还有另一个 data.table 包含我的配对列:

subDT <- data.table(sub_orig = c("EWR", "LGA"), sub_dest = c("IAH", "ATL"))
subDT
Run Code Online (Sandbox Code Playgroud)

我希望flights在原点"EWR"和目的地"IAH"完全相同的那些行中查找和子集(即像 using &),并且还在同一个查询中返回原点"LGA"和目的地的行"ATL"

flights[dest %in% subDT[, sub_dest] & origin %in% subDT[, sub_orig]]
Run Code Online (Sandbox Code Playgroud)

以上包含我想要的数据,即上面指定的那些配对,但它也包含我不想要的"EWR" & "ATL"和配对"LGA" & "IAH"

我意识到我可以制作一个假的帮助列(例如paste(dest, origin))并通过%in%它选择通过,但我觉得有更好的方法,setkey目前可能有一些魔法逃脱了我?

注意,我的最终用例实际上将使用字符向量的组合作为一列,并将数字因子作为另一列,如果这很重要的话。

r data.table

4
推荐指数
1
解决办法
582
查看次数

data.table按组排序和返回具有最大值的行

我有这样一个data.table:

dd <- data.table(f = c("a", "a", "a", "b", "b"), g = c(1,2,3,4,5))
dd
Run Code Online (Sandbox Code Playgroud)

我需要g按因子对值求和f,最后返回单行data.table对象,该对象具有最大值g,但也包含因子信息.即

___f|g   
1: b 9
Run Code Online (Sandbox Code Playgroud)

到目前为止我最接近的尝试是

tmp3 <- dd[, sum(g), by = f][, max(V1)]
tmp3
Run Code Online (Sandbox Code Playgroud)

结果如下:

> tmp3
[1] 9
Run Code Online (Sandbox Code Playgroud)

编辑:我理想地寻找纯粹的data.table代码/工作流程.我很惊讶,所有快速的快速拆分 - 应用 - 组合技术以及以"示例[i =子集"]的形式对您的数据进行子集化的能力,我还没有找到一种直接的方式来对单个子集进行子集化价值条件.

r data.table

3
推荐指数
2
解决办法
2086
查看次数

使用lapply over data.tables列表将列表成员名称指定为变量

我有一个data.tables列表

library(data.table)

set.seed(27)
test <- list()
test$a <- data.table(x = rnorm(n = 10),
                     y = rnorm (n = 10))
test$b <- data.table(x = rnorm(n = 10),
                     y = rnorm (n = 10))
Run Code Online (Sandbox Code Playgroud)

列表的每个成员都有一个唯一的名称

test
Run Code Online (Sandbox Code Playgroud)

为了准备将这些多个表附加到单个"long"格式中,我想创建一个第三列,它是一个变量,它是通过函数的每个成员的名称(我需要定期执行此操作).

目前工作(虽然不正确)代码:

lName.asVariable <- function(dataTableList) {
dataTableList <- lapply(X = dataTableList, FUN = function(x)(x[, Site :=names(dataTableList)]))
}

test <- lName.asVariable(test)
test
Run Code Online (Sandbox Code Playgroud)

哪个输出

$a
               x           y Site
 1:  1.907162564 -1.28512736    a
 2:  1.144876890  0.03482725    b
 3: -0.764530737  1.57029534    a
 4: -1.457432503  0.15801005    b
...
$b
              x          y …
Run Code Online (Sandbox Code Playgroud)

r list apply data.table

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

我在jekyll和github页面中错过了什么来使语法高亮显示工作?

免责声明:这是我的第一个网站项目,为了了解html,css等我可能需要一个'for idiots'指南'

我有一个哲基尔/ GitHub的网页的网站在这里.我在这里阅读了jekyll文档,这表明您需要做的就是粘贴液体标签.例如,我在这里.

进一步的研究指出,我需要设置我的配置文件,像这样,我有在这里.我也有我的CSS从一个网站叫sciviews这是复制在这里,我做了一个链接到的.css叫它这里.

但是,我的页面在代码块中仍然以黑色显示.我错过了什么?

编辑:我相信我犯了另一个错误,我的syntac .css的来源是(我认为)在这里.因为我实现了它,.scss可能与这个过程不兼容吗?

css syntax-highlighting github jekyll github-pages

0
推荐指数
1
解决办法
200
查看次数