小编r.b*_*bot的帖子

使用dplyr和stringr检测多个字符串

我正在尝试将dplyr和stringr结合起来检测数据帧中的多个模式.我想使用dplyr,因为我想测试许多不同的列.

这是一些示例数据:

test.data <- data.frame(item = c("Apple", "Bear", "Orange", "Pear", "Two Apples"))
fruit <- c("Apple", "Orange", "Pear")
test.data
        item
1      Apple
2       Bear
3     Orange
4       Pear
5 Two Apples
Run Code Online (Sandbox Code Playgroud)

我想用的是:

test.data <- test.data %>% mutate(is.fruit = str_detect(item, fruit))
Run Code Online (Sandbox Code Playgroud)

并收到

        item is.fruit
1      Apple        1
2       Bear        0
3     Orange        1
4       Pear        1
5 Two Apples        1
Run Code Online (Sandbox Code Playgroud)

一个非常简单的测试工作

> str_detect("Apple", fruit)
[1]  TRUE FALSE FALSE
> str_detect("Bear", fruit)
[1] FALSE FALSE FALSE
Run Code Online (Sandbox Code Playgroud)

但即使没有dplyr,我也无法在数据框的列上工作:

> test.data$is.fruit <- str_detect(test.data$item, fruit)
Error …
Run Code Online (Sandbox Code Playgroud)

r stringr dplyr

11
推荐指数
2
解决办法
1万
查看次数

使用R和Leaflet在地图上聚类

我在R中使用传单(刚开始使用它).我喜欢在下面的帖子中完成聚类/可视化的方式.程序员正在使用Java.对于leaflet/R我找不到的是如何创建一个带有数字的簇圆,即标记数量的汇总,它响应于缩放时出现的标记数量.我可以在地图上获得不同的标记,但不能获得缩放的响应.

Leaf Leaf Simple CSV示例

http://blog.perrygeo.net/2013/09/30/leaflet-simple-csv

如果这在R /传单中是不可能的.我想要展示的是:一个邮政编码有10次访问,一个邮政编码有1次访问.我想用R/Shiny来创建项目.如果传单不是最好的我对其他选项开放(googlevis?)我是新的映射,所以我可能会遗漏一些简单的...

非常感谢你的帮助.

r leaflet shiny googlevis

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

使用来自64位RStudio的32位R的源R脚本

在Win7上我安装了32位和64位R. 因为一个不能从64位R ODBC到32位的MS Access,我想用R的32位版本的从到源极的R脚本这太问题我明白可以使用启动32位R system()

system(paste0(Sys.getenv("R_HOME"), "/bin/i386/R.exe"), wait = FALSE, invisible = FALSE)
Run Code Online (Sandbox Code Playgroud)

这将在终端中启动R. 是否也可以从system()呼叫中获取R脚本?

我想知道R CMD BATCH是否有可能,但我看不出将其设置为32位R的方法.

r rstudio

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

添加晕影会使devtools :: check()停止工作

我一直在写一个参考哈德利指南的个人包.但是,使用添加最小的晕影devtools::use_vignette()似乎打破了devtools::check().

当我尝试运行时,check()我收到一个错误:

file 'C:/path/temp/package/DESCRIPTION' is not in valid DCF format
Run Code Online (Sandbox Code Playgroud)

和一个警告:

In read.dcf(dfile, keep.white = .keep_white_description_fields) :
  cannot open compressed file 'C:/path/temp/package/DESCRIPTION', probable reason 'Permission denied'
Run Code Online (Sandbox Code Playgroud)

devtools::check()如果我删除了vignettes文件夹并devtools::build_vignettes()运行正常,我可以成功运行.

编辑添加: 我想知道这是否是从网络位置尝试运行检查的问题,但我复制了项目C:\R\package_name,它仍然返回相同的错误.

奇怪的是,这似乎与机器有关,因为我在工作机器上遇到上述错误,但在我的个人笔记本电脑上却没有.工作机器是win7,个人win10.

描述复制如下

Package: pkg_nm
Type: Package
Title: A title
Version: 0.0.0.9000
Authors@R: person("name", "name", email = "emal@email.com", role = c("aut", "cre"))
Description: Functions for working with data from my source.
License: OGL
LazyData: TRUE
RoxygenNote: 5.0.1
URL: [url …
Run Code Online (Sandbox Code Playgroud)

vignette r devtools

6
推荐指数
0
解决办法
266
查看次数

Bookdown - 在哪里加载包

我有一个大型书籍项目,我想检查单个章节是否有效。我已经编写了它,以便将我需要的所有包加载到 Index.Rmd 中

但是,当我尝试渲染书籍或预览章节时,它会失败,因为%>%找不到函数,即使library(dplyr)在 Index.Rmd 中也是如此。

真的有必要在 bookdown 项目的每一章开始时加载相同的包吗?或者我错过了什么?

r bookdown

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

回归模型的整洁方法,理想情况下使用dplyr

阅读do()dplyr中的文档,我对为数据组创建回归模型的能力印象深刻,并且想知道是否可以使用不同的自变量而不是数据组来复制它.

到目前为止我已经尝试过了

require(dplyr)
data(mtcars)

models <- data.frame(var = c("cyl", "hp", "wt"))

models <- models %>% do(mod = lm(mpg ~ as.name(var), data = mtcars))
Error in as.vector(x, "symbol") : 
  cannot coerce type 'closure' to vector of type 'symbol'

models <- models %>% do(mod = lm(substitute(mpg ~ i, as.name(.$var)), data = mtcars))
Error in substitute(mpg ~ i, as.name(.$var)) : 
  invalid environment specified
Run Code Online (Sandbox Code Playgroud)

期望的最终输出将是类似的

  var slope standard_error_slope
1 cyl -2.87                 0.32
2  hp -0.07                 0.01
3  wt -5.34                 0.56
Run Code Online (Sandbox Code Playgroud)

我知道使用lapply方法 …

regression r lm dplyr

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

Rmarkdown 到 Word 输出 - 在标题上方插入图像

我有一个 Rmarkdown 文档,我正在将它输出到 Word,我正在尝试将公司徽标插入到页面顶部,位于包含标题和作者的标题上方。

我还没有找到解决方案。我试过使用pandoc_argsto --include-in-header,但这没有成功。不过,我不确定我是否正确使用了它。

是否可以在标题上方包含图像?

---
title: "Untitled"

author: "r.bot"
date: "Thursday, January 1, 2015"
output:
  word_document:
    fig_caption: yes
    fig_height: 5
    fig_width: 5
    reference_docx: template.docx
    pandoc_args:  [
      "--include-in-header", "C:\\path\\to\\file.png"
    ]
---

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see <http://rmarkdown.rstudio.com>.
Run Code Online (Sandbox Code Playgroud)

r r-markdown

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

ggplot2 因子 x 变量破坏 geom_area

我一直在尝试制作一个带有离散 x 变量的堆积面积图(因为我想显示财政年度,即“2013/14”,而不是日历年)。但是,将 x 轴变量转换为因子会阻止几何图形在最终图表中呈现。

有没有解决的办法?

library(ggplot2)

dat <- structure(list(year = c(13, 13, 14, 14, 15, 15), 
                      group_lvl = structure(c(1L, 2L, 1L, 2L, 1L, 2L), 
                                            .Label = c("a", "b"), class = "factor"), 
                      val = c(35, 65, 50, 50, 75, 25)), 
                 .Names = c("year", "group_lvl", "val"), row.names = c(NA, -6L), 
                 class = "data.frame")
dat
  year group_lvl val
1   13         a  35
2   13         b  65
3   14         a  50
4   14         b  50
5   15         a  75
6   15         b  25 …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

使用带有Rmarkdown的书签

Booktabs和xtable使用RStudio与Rmarkdown失败.Tufte模板工作正常,但使用标准.Rmd文件失败并显示错误消息:

! Undefined control sequence.
l.133   \toprule

pandoc.exe: Error producing PDF from TeX source
Error: pandoc document conversion failed with error 43
Run Code Online (Sandbox Code Playgroud)

一个可重复的例子:

---
title: "Testing booktabs"
author: "r.bot"
date: "11 June 2015"
output: pdf_document
---

```{r, results='asis'}
library(xtable)
options(xtable.comment = FALSE)
options(xtable.booktabs = TRUE)
xtable(head(mtcars[,1:6]), caption = "First rows of mtcars")
```
Run Code Online (Sandbox Code Playgroud)

R版本3.1.2(2014-10-31)平台:x86_64-w64-mingw32/x64(64位)安装了最新版本的Pandoc.

r xtable r-markdown

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

类似于分组数据的条件seq_along

我正试图产生观察的"情节",将观察结果组合在一起,它们</=相隔14天发生.有了dplyr,我设法计算了自上次观察以来的天数.但是,我无法弄清楚如何在</= 14没有for循环的情况下基于条件获取新的id .

样本数据:

#obsvn is number of days since first observation in group

dat <- data.frame(id = c(rep("A",5), rep("B", 2)), 
                  obsvn = c(1, 2, 29, 30, 45, 1, 15))
  id obsvn
1  A     1
2  A     2
3  A    29
4  A    30
5  A    45
6  B     1
7  B    15
Run Code Online (Sandbox Code Playgroud)

预期产量:

  id obsvn ith
1  A     1    1
2  A     2    1
3  A    29    2
4  A    30    2
5 …
Run Code Online (Sandbox Code Playgroud)

r dplyr

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