小编Pau*_*eux的帖子

将R包文档导出到网页

我根据Hadley Wickham关于如何使用Roxygen构建和记录包的说明创建了一个R包.现在我想将函数帮助页面和插图导出到一堆html文件,以便它也可以在网站上读取和链接.

当我查看我的库中已安装的软件包时,有一个html文件夹,但它只包含一个00Index.html页面.是否有一种简单的方法可以导出我的包文档的其余部分(功能帮助页面和插图)?

r package

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

如何将dplyr :: tbl连接编码更改为utf8?

在MySQL数据库中,表以utf8编码,但由于某种原因,连接在latin1中.

res <- RMySQL::dbSendQuery(con,"show variables like 'character_set_%'")
dbFetch(res)
           Variable_name                      Value
1     character_set_client                     latin1
2 character_set_connection                     latin1
3   character_set_database                    utf8mb4
4 character_set_filesystem                     binary
5    character_set_results                     latin1
6     character_set_server                     latin1
7     character_set_system                       utf8
8       character_sets_dir /usr/share/mysql/charsets/
Run Code Online (Sandbox Code Playgroud)

本页介绍如何使用RMySQL将连接的字符集设置为utf8.

RMySQL::dbGetQuery(con,"show variables like 'character_set_%'")
RMySQL::dbGetQuery(con,"set names utf8")
Run Code Online (Sandbox Code Playgroud)

但我实际上更喜欢使用dplyr::tbl查询数据库.由于dplyr::src_mysql只创建连接,因此可以发送创建表的sql语句.将连接设置设置为使用utf8编码的dplyr方法是什么?

r rmysql dplyr

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

为R包编写函数时,应该避免进行非标准评估吗?

使用R CMD测试软件包的代码时,请使用非标准评估" no visible binding for global variable ..."为dplyr函数内使用的每个变量显示以下注释:例如,如果我使用

cars %>% mutate(speedplusone = speed +1)
Run Code Online (Sandbox Code Playgroud)

R CMD检查将给出注释:

no visible binding for global variable speed
Run Code Online (Sandbox Code Playgroud)

删除这些注释的问题已经被询问过,Hadley给出了答复,可以选择使用标准评估重写调用或通过调用伪造这些变量的存在globalVariables()

根据Hadley的回答,我可以使用标准评估来删除那些R CMD Check注释,替换mutatemutate_

cars %>% mutate_(speedplusone = ~speed +1)
Run Code Online (Sandbox Code Playgroud)

我是否应该重写软件包中的所有dplyr函数调用,以完全避免非标准评估?

r dplyr

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

如何防止RMySQL警告“ col中的Unsigned INTEGER in col作为数字导入”?

从MySQL表加载数据时,通常会出现以下警告:

unrecognized MySQL field type 7 in column 26 imported as character

Unsigned INTEGER in col 3 imported as numeric
Run Code Online (Sandbox Code Playgroud)

如何正确地将数据库表加载到数据帧中,以便不显示这些警告?

我看到该函数RMySQL::dbDataType()可以“确定S对象的SQL数据类型”。有没有办法告诉它哪种MySQL数据类型与数据帧中的哪种矢量类型相匹配?

r rmysql dplyr

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

如何使用testthat测试已安装的软件包?

我想测试一个已安装的软件包,但这会返回一个错误.

library(testthat)
test_package("testthat")
# Error: No tests found for testthat
Run Code Online (Sandbox Code Playgroud)

test_package(source here)返回此错误,因为它system.file("tests", package = package)是空的.实际上,tests安装的软件包中缺少该目录.

list.dirs(system.file("", package = "testthat"))
# [1] "/home/paul/R/x86_64-pc-linux-gnu-library/3.2/testthat/"     
# [2] "/home/paul/R/x86_64-pc-linux-gnu-library/3.2/testthat//help"
# [3] "/home/paul/R/x86_64-pc-linux-gnu-library/3.2/testthat//html"
# [4] "/home/paul/R/x86_64-pc-linux-gnu-library/3.2/testthat//libs"
# [5] "/home/paul/R/x86_64-pc-linux-gnu-library/3.2/testthat//Meta"
# [6] "/home/paul/R/x86_64-pc-linux-gnu-library/3.2/testthat//R"  
Run Code Online (Sandbox Code Playgroud)

如何安装包以使其测试目录仍然存在?

r testthat

5
推荐指数
2
解决办法
1200
查看次数

如何使python变量在降价笔记本中的块之间保持不变?

在笔记本模式下,变量不会从一个块保留到下一个块,但是在将 Markdown 文档编织到 html 时会保留它们。

我制作了一个名为 pythonvariables.Rmd的示例文档,该文件的内容是:

---
title: "R Notebook"
output:
  html_document:
    df_print: paged
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(reticulate)
```

```{python}
x = 1 
```

```{python}
print(x)
```

```{r}
print(py$x)
```
Run Code Online (Sandbox Code Playgroud)

在 Rstudio 1.1.453 版本中,在 notebook 模式下,当一个块一个接一个地运行时,print(x)python 块的输出为:

Traceback (most recent call last):
  File "C:\Users\rougipa\AppData\Local\Temp\2\RtmpQFW3Rj\chunk-code-1d44920f50.txt", line 1, in <module>
    print(x)
NameError: name 'x' is not defined
Run Code Online (Sandbox Code Playgroud)

但是,当 Rmd 编​​译为 html 时,问题不会出现。正如预期的那样,print(x)python 块的输出为1

python r knitr r-markdown reticulate

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

如何查看R脚本中发生错误的行号?

我正在调试一个模型。输入数据是使用 python 脚本准备的,该脚本调用 R 脚本,通过 python 调用subprocess.check_call()(现在替换为pbs.Command())。这个 R 脚本有各种错误。当R脚本中发生错误时,我们可以在标准错误中看到错误消息,出现在python错误的上方(或下方)。问题是R返回的错误信息只返回发生错误的一小部分代码,没有任何行号。然后我们必须在原始源中搜索该代码段。如果我们有实际的行号,那就更容易了。

一个相关的答案建议使用 IDE再次逐行运行整个 R 代码,但我们想知道发生此错误的行号,以便我们至少可以运行该行之前的所有 R 代码。

r

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

如何使用 knitr 从 R 代码打印乳胶部分标题?

我正在尝试使用 knitR 在 Latex 中生成模拟报告。我的 R 代码在产品上有一个循环,并为每个产品生成一个图表。我想为每个循环迭代包含一个部分标题。我使用了 resuls='asis' 并尝试在循环中打印部分标题,如下面的代码块所示:

<<looptest, echo=FALSE, results='asis', warning=FALSE>>=
for (product in c("prod 1","prod 2")){
    print(paste("\\section{",product,"}", sep=""))
}
@
Run Code Online (Sandbox Code Playgroud)

问题是我在乳胶输出中得到了这个:

[1] "\\section{prod 1}"
[1] "\\section{prod 2}"
Run Code Online (Sandbox Code Playgroud)

printing latex r cat knitr

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

从 cut 中提取断点

cut函数的文档提供了“一种提取断点的方法”

aaa <- c(1,2,3,4,5,2,3,4,5,6,7)
labs <- levels(cut(aaa, 3))
cbind(lower = as.numeric( sub("\\((.+),.*", "\\1", labs) ),
      upper = as.numeric( sub("[^,]*,([^]]*)\\]", "\\1", labs) ))

#      lower upper
# [1,] 0.994  3.00
# [2,] 3.000  5.00
# [3,] 5.000  7.01
Run Code Online (Sandbox Code Playgroud)

是否有另一种内置的方式来提取断点?

r

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

如何用R重现这个动态分布图?

G Elliot Moris 使用动态分布图显示了政治两极分化. 1963  -  2013年美国政治两极分化的情节

从这个问题:如何使用'facet'在GGPLOT中创建多个密度图我设法使用facet使用虚拟数据重现类似的图:

library(ggplot2)
set.seed(101)
dtf <- data.frame(variable = c(rnorm(1000),
                               rnorm(1000) + rep(1:10/2,each =100)),
                  group = rep(c("a","b"), each = 1000),
                  year = rep(2001:2010, each=100))
ggplot(dtf) +
    geom_density(aes(x = variable, fill = group)) +
    facet_grid(year ~.)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但我希望这些分布在原始情节中重叠.这些图是否有特定的名称,是否可以用R复制它们?

[编辑] 此全局温度分布图中提供了类似图的动态版本.

plot r ggridges

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

标签 统计

r ×10

dplyr ×3

knitr ×2

rmysql ×2

cat ×1

ggridges ×1

latex ×1

package ×1

plot ×1

printing ×1

python ×1

r-markdown ×1

reticulate ×1

testthat ×1