小编Nic*_*abo的帖子

如何通过do函数strsplit某些列中不同数量的字符串

当列的元素具有不同的字符串数时,我遇到了拆分列值的问题.我可以在plyr中做到这一点,例如:

library(plyr)
column <- c("jake", "jane jane","john john john")
df <- data.frame(1:3, name = column)
df$name <- as.character(df$name)
df2 <- ldply(strsplit(df$name, " "), rbind)
View(df2)
Run Code Online (Sandbox Code Playgroud)

因此,我们的数据框的列数与给定元素中的最大蜇数有关.

当我尝试在dplyr中执行此操作时,我使用了do函数:

library(dplyr)
df2 <- df %>%
  do(data.frame(strsplit(.$name, " ")))
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误:

Error in data.frame("jake", c("jane", "jane"), c("john", "john", "john" : 
arguments imply differing number of rows: 1, 2, 3
Run Code Online (Sandbox Code Playgroud)

在我看来应该使用rbind功能,但我不知道在哪里.

r plyr dplyr

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

如何在自定义Rmarkdown中存储嵌入文件(包括)

我基于这篇博客文章在Rmarkdown中创建了自己的格式.我在我的个人包装中实现了它,效果很好.我还在includes参数中添加了自定义文件html_document.

我的问题是,includes在点击"编织"按钮后是否可以存储我的自定义文件(包含在参数中).与self_contained = F允许存储所有Rmarkdown依赖项的选项类似.

更新

我应该先给你一些背景信息.假设html两个月前我用我的格式创建了一个报告.两周后,我决定对我的html格式进行重大更改并更新我的包.

在接下来的两周之后,我的老板来找我,要求在旧报告中添加一些细微的变化.然后,通过单击Knit按钮,报表无法创建,因为我的html格式有一个新版本,这是显着不同的.

我看到了如何处理这个请求的三种可能性.我可以安装我的软件包的旧版本(次优),html每次实现重大更改时创建一个新格式,或者我可以将我的依赖项(页眉,页脚,css文件)存储在一个单独的子目录(如packrat)中.然后每个报告都是独立的,不受我自定义格式的变化的影响.

如果有更好的解决方案,请告诉我.

r r-markdown

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

添加更改时自动重新加载闪亮的应用程序

我希望有一个选项(在本地工作时),当我在文件server.Rui.R文件中进行一些更改后,它可以自动查看闪亮的应用程序中的更改。runApp每次添加新东西时手动重新运行功能确实很烦人。

我真正喜欢的最佳解决方案是xaringan::inifinite_moon_reader功能非常有用的功能。

请问有什么解决方案吗?

您可以在此处找到类比解决方案。在右侧,修改并保存了代码,在左侧,页面的内容已更新。

r shiny xaringan

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

在rmarkdown中将ggplot对象显示为html svg代码

我想ggplot使用svg在浏览器上显示对象rmarkdown

---
title: ""
output: html_document
---

```{r setup, include = FALSE}
library(svglite)
library(ggplot2)
knitr::opts_chunk$set(
      dev = "svglite",
      fig.ext = ".svg"
)
```

```{r, warning = F}
data(cars)

ggplot(mtcars, aes(mpg, qsec, color = factor(cyl))) +
      geom_point()

```
Run Code Online (Sandbox Code Playgroud)

一切正常,但是当我在Chrome中打开它并尝试检查元素时,结果发现整个图都在<img>标记内。我要实现的是rmarkdown用整个html代码创建doc ggplot

我尝试使用htmlSVG功能,但无法使用ggplot。我收到一个错误:

Error in FUN(X[[i]], ...) : argumemt is not a character vector
Run Code Online (Sandbox Code Playgroud)

但是,它在基本情节上效果很好- htmlSVG(plot(data = sampled_df, z ~ price))当我在上包含它时rmarkdown

您知道可以对ggplot对象执行相同的操作吗?

svg r ggplot2

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

如何删除geom_point ggplot中的点组

我的情节有问题。我只想显示 A 组中的点,而不是每个名称中的点。这是一个例子:

name <- c("a","b","c","d")
df <- data.frame(id = rep(1:5,3), 
             value = c(seq(50,58,2),seq(60,68,2),seq(70,78,2)),
             name = c(rep("A",5),rep("B",5),rep("C",5)),
             type = rep(c("a","b","c","d","r"),3))

df$name <- factor(df$name, levels = c("C","B","A"),ordered = TRUE)
ggplot(df, aes(id, value, fill = name,color = type))+
    geom_area( position = 'identity', linetype = 1, size = 1 ,colour="black") +
    geom_point(size = 8)+
    guides(fill = guide_legend(override.aes = list(colour = NULL, shape = NA)))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r ggplot2

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

创建指向Shiny应用程序其他部分的链接

我想知道是否有可能创建一个链接到Shiny应用程序的其他部分.我的意思是,我有一个页面报告Itroductiion,Plot 1Plot 2panel.Within Introduction面板我想添加一个指示Plot 1Plot 2面板,以便在点击链接后看到这个情节immadiately.有可能的?

ui.R

library(shiny)

shinyUI(
  fluidPage(
  fluidPage(
    titlePanel("Introduction"),
    column(12,
    p("Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin
      nibh augue, suscipit a, scelerisque sed, lacinia in, mi. Cras vel
      lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla
      ac diam. Quisque semper justo at risus. Donec venenatis, turpis vel
      hendrerit interdum, dui ligula ultricies purus, sed posuere libero 
      dui id orci. Nam congue, pede vitae dapibus …
Run Code Online (Sandbox Code Playgroud)

r shiny

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

ggplot2 - 就两个“大小”变量而言的 geom_point

是否有任何选项可以sizeggplot函数的参数中使用两个变量?例如

ggplot(mtcars, aes(qsec,drat, size = cyl))+
   geom_point()
Run Code Online (Sandbox Code Playgroud)

显然它有效,点的大小取决于cyl变量。但是是否可以选择添加另一个size可以使用alpha选项的变量,例如variable = mpg. 怎么做?

我在 Ilustrator 中仅以三个点为例。 在此处输入图片说明

谢谢,

更新

感谢@lukeA 以下代码行有效:

ggplot() + 
    geom_point(data = mtcars, aes(qsec,drat, size = cyl)) + 
    geom_point(data = mtcars, aes(qsec,drat, size = mpg), alpha = .1, colour = "red")
Run Code Online (Sandbox Code Playgroud)

但是当我想单独设置每个变量的大小时,这是不可能的。当size我通常使用一个变量scale_size_contiunous但有两个size变量时它不起作用。我知道使用scale_size_continuous两次不会改变任何东西。也许根本不可能,但也许有人找到了解决方案。

r ggplot2

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

使用Shiny的RMarkdown演示文稿在本地工作正常,但无法在ShinyServer上打开

我的简单RMarkdown文档使用shiny小部件时遇到问题.我的意思是,它在本地工作正常但是当我想把它扔进ShinyServer时它根本不起作用.实际上它没有给出任何错误.

---
title: "Test"
author: ""
date: "17.08.2015"
runtime: shiny
output: html_document
---


```{r, echo = FALSE}
library(ggplot2)
```


```{r, echo = FALSE}
data(mtcars)
selectInput('name', 'Choose a cylinder:',
            choices = sort(unique(mtcars$cyl)),
            selected = sort(unique(mtcars$cyl))[1])
data <- reactive(subset(mtcars,cyl == input$name))
number <- reactive(which(sort(unique(mtcars$cyl)) == input$name))
```

```{r, echo = FALSE}
renderPlot(ggplot(data(),aes(qsec, mpg))+
  geom_point(size = 6))
```
Run Code Online (Sandbox Code Playgroud)

我使用ShinyServer v1.3.0并使用Revolution R Open 3.2.1.

sessionInfo()
other attached packages:
[1] ggplot2_1.0.1       rmarkdown_0.7       shiny_0.12.1
[4] RevoUtilsMath_3.2.1

loaded via a namespace (and not …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 r-markdown shiny rro

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

使用Open Sans Semibold字体将ggplot对象转换为svg

我想创建一个ggplot使用Open Sans Semibold字体的绘图,然后将其转换为svg。最后将其包含在rmarkdown文档中。最大的问题是在浏览器上对转换后的ggplot对象使用Open Sans Semibold 。

  1. 我曾经svglite转换ggplotsvg它,并且效果很好。
  2. 我在轴标题中包含了Open Sans Semibold字体(我将所有Open Sans系列存储在本地)。
  3. 我创建了rmarkdown文档。

    ---
    title: ""
    output: html_document
    ---
    
    ```{r setup, include = FALSE}
    library(svglite)
    knitr::opts_chunk$set(
      dev = "svglite",
      fig.ext = ".svg"
    )
    ```
    
    ```{r, warning = F, message = F, echo = F}
    library(ggplot2)
    
    data(cars)
    
    ggplot(mtcars, aes(mpg, qsec, color = factor(cyl))) +
       geom_point() +
       theme(text = element_text(family = 'Open Sans'),
            axis.title = …
    Run Code Online (Sandbox Code Playgroud)

svg r ggplot2 r-markdown

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

当url在YAML元数据中时,如何强制pandoc不构建<a>标记

假设我们有.Rmd像这样的YAML元数据的简单空文件

---
link: https://google.com
---
Run Code Online (Sandbox Code Playgroud)

然后在html模板中,它将自动显示在<a>标签中

<a href="http://google.com" class="uri">http://google.com</a>
Run Code Online (Sandbox Code Playgroud)

<a>当YAML中有url时,如何强制pandoc不构建?我的意思是我最终得到的是html模板中的计划文本

http://google.com
Run Code Online (Sandbox Code Playgroud)

或者,如果我使用自己的html模板,我可以添加一个链接

<a href="$link$">Google</a>
Run Code Online (Sandbox Code Playgroud)

感谢帮助!

yaml r pandoc r-markdown

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

标签 统计

r ×10

ggplot2 ×5

r-markdown ×4

shiny ×3

svg ×2

dplyr ×1

pandoc ×1

plyr ×1

rro ×1

xaringan ×1

yaml ×1