当列的元素具有不同的字符串数时,我遇到了拆分列值的问题.我可以在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)
但是我收到一个错误:
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
在我看来应该使用rbind功能,但我不知道在哪里.
我基于这篇博客文章在Rmarkdown中创建了自己的格式.我在我的个人包装中实现了它,效果很好.我还在includes参数中添加了自定义文件html_document.
我的问题是,includes在点击"编织"按钮后是否可以存储我的自定义文件(包含在参数中).与self_contained = F允许存储所有Rmarkdown依赖项的选项类似.
更新
我应该先给你一些背景信息.假设html两个月前我用我的格式创建了一个报告.两周后,我决定对我的html格式进行重大更改并更新我的包.
在接下来的两周之后,我的老板来找我,要求在旧报告中添加一些细微的变化.然后,通过单击Knit按钮,报表无法创建,因为我的html格式有一个新版本,这是显着不同的.
我看到了如何处理这个请求的三种可能性.我可以安装我的软件包的旧版本(次优),html每次实现重大更改时创建一个新格式,或者我可以将我的依赖项(页眉,页脚,css文件)存储在一个单独的子目录(如packrat)中.然后每个报告都是独立的,不受我自定义格式的变化的影响.
如果有更好的解决方案,请告诉我.
我希望有一个选项(在本地工作时),当我在文件server.R或ui.R文件中进行一些更改后,它可以自动查看闪亮的应用程序中的更改。runApp每次添加新东西时手动重新运行功能确实很烦人。
我真正喜欢的最佳解决方案是xaringan::inifinite_moon_reader功能非常有用的功能。
请问有什么解决方案吗?
您可以在此处找到类比解决方案。在右侧,修改并保存了代码,在左侧,页面的内容已更新。
我想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对象执行相同的操作吗?
我的情节有问题。我只想显示 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)

我想知道是否有可能创建一个链接到Shiny应用程序的其他部分.我的意思是,我有一个页面报告Itroductiion,Plot 1和Plot 2panel.Within Introduction面板我想添加一个指示Plot 1和Plot 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) 是否有任何选项可以size在ggplot函数的参数中使用两个变量?例如
ggplot(mtcars, aes(qsec,drat, size = cyl))+
geom_point()
Run Code Online (Sandbox Code Playgroud)
显然它有效,点的大小取决于cyl变量。但是是否可以选择添加另一个size可以使用alpha选项的变量,例如variable = mpg. 怎么做?
谢谢,
更新
感谢@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两次不会改变任何东西。也许根本不可能,但也许有人找到了解决方案。
我的简单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) 我想创建一个ggplot使用Open Sans Semibold字体的绘图,然后将其转换为svg。最后将其包含在rmarkdown文档中。最大的问题是在浏览器上对转换后的ggplot对象使用Open Sans Semibold 。
svglite转换ggplot成svg它,并且效果很好。我创建了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)假设我们有.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)
感谢帮助!