小编use*_*808的帖子

在knitr/rmarkdown中添加beamer框架选项

我正在尝试将帧编号添加到我在rmarkdown中编写的Beamer演示文稿中.但是,我想使用\ begin {frame} [plain]选项来抑制标题页上的数字(来自第二个答案:https://tex.stackexchange.com/questions/82794/removing-page-number -from-title-frame-without-changing-the-theme).但是,当从rmarkdown编译为tex时,\ titlepage已经创建了一个框架环境,所以实际上我得到一个双帧,因此出错.

所以在编译时:

---
output:
  beamer_presentation:
    includes:
      in_header: header.tex
---

\begin{frame}[plain]
\titlepage
\end{frame}
Run Code Online (Sandbox Code Playgroud)

我用胶乳得到这个:

\begin{frame{

  \begin{frame}
     \titlepage
  \end{frame}

\end{frame}
Run Code Online (Sandbox Code Playgroud)

在header.tex我有这个:

\let\otp\titlepage
\renewcommand{\titlepage}{\otp\addtocounter{framenumber}{-1}}
Run Code Online (Sandbox Code Playgroud)

所以我现在的解决方法是在rmarkdown中使用普通\ maketitle,然后编译为.tex,添加[plain]选项,然后编译为pdf.但是,我想避免那个中间步骤.这是否可能在rmarkdown?

latex r beamer knitr r-markdown

10
推荐指数
2
解决办法
2316
查看次数

在rmarkdown文档中的ggplot2图表中嵌入字体

我想在ggplot2图表中使用非标准字体,然后将其嵌入到rmarkdown文档中,该文档将编织成PDF格式.我目前的工作流程是在图表中指定字体,然后编织,然后在创建的PDF上运行extrafonts :: embed_fonts.我的问题是:我可以直接在rmarkdown文档中指定字体应该嵌入输出的PDF中吗?

最小的例子:

---
title: "Untitled"
output: beamer_presentation
---

```{r}
library(extrafont)
library(ggplot2)
loadfonts()
qplot(iris$Sepal.Length) + theme_light(base_family = "CM Roman")
```

knitr::knit2pdf("test.rmd")
embed_fonts("test.pdf")
Run Code Online (Sandbox Code Playgroud)

fonts r ggplot2 knitr r-markdown

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

从 Wikidata 获取类别的成员

我想从维基数据中获取特定类别的所有成员。例如,我想P31 Q11424从类别“类别:以斯德哥尔摩为背景的电影”( ) 中获取所有电影(电影实例: ) Q7519614。但是,我似乎找不到这种关系。DBpedia 使用“主题”,但 Wikidata 的等效项 ( P805) 不返回任何结果。

我还以为我可以通过此查询引导找到答案,但无济于事:

SELECT ?s ?p ?pLabel WHERE {
  ?s ?p wd:Q7519614.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
Run Code Online (Sandbox Code Playgroud)

wikipedia sparql dbpedia wikidata

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

了解R中的延迟评估

我试图理解R中的懒惰评估是如何运作的.它是否仅适用于函数参数的评估?因为我理解,例如

f <- function(x = x, y = x*2) {
  c(x, y)
}

f(2)
[1] 2 4
Run Code Online (Sandbox Code Playgroud)

但是在其他语言中,例如Haskell,惰性求值意味着函数调用仅在实际使用时才会被评估.所以我希望这样的东西能在瞬间运行:

g <- function(x) {
  y <- sample(1:100000000)
  return(x)
}

g(4)
Run Code Online (Sandbox Code Playgroud)

但它清楚地评估了sample呼叫,即使它的结果没有被使用.

有人可以准确地解释这是如何工作的,还是指向我详细解释的方向?

类似的问题:

问题与类似的措辞,但不同的问题

haskell r function lazy-evaluation

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

使用包httr,twitteR和streamR检索缓存的oauth令牌

我发现使用twitter API进行身份验证的唯一方法如下:

library(twitteR)

setup_twitter_oauth(consumer_key = "a", 
                consumer_secret = "b", 
                access_token = "c", 
                access_secret = "d")
Run Code Online (Sandbox Code Playgroud)

运行之后,我可以在twitteR中使用所有函数.但是,我还想使用streamR包,它需要令牌作为OAuth对象:

filterStream("tweets.json", track = c("Obama", "Biden"), timeout = 20, oauth=my_oauth)
Run Code Online (Sandbox Code Playgroud)

从我收集的内容来看,上面的setup_twitter_oauth函数是一些httr函数的包装器,用于获取我的授权令牌.此令牌作为名为".httr-oauth"的文件缓存在我的工作目录中.我的问题是:如何将此文件加载到R中,以便获得可以与streamR一起使用的OAuth对象?

twitter r oauth httr

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

使用DiagrammeR为美人鱼图表设计样式

我在R中使用DiagrammeR包来渲染美人鱼的流程图:

graph LR
A[text]-->B[a very, very, very, very, very, very, very, very, long text]

style A fill:red, font-size:50px
Run Code Online (Sandbox Code Playgroud)

查看已编译的XML,这会产生:

#mermaidChart0 .node { fill:#ffa; stroke:#666; stroke-width:3px; }
#mermaidChart0 .node text  { fill:#000; stroke:none; font-weight:300; font-family:"Helvetica Neue",Helvetica,Arial,sans-serf; font-size:14px; }
#mermaidChart0 .edgeLabel text  { fill:#000; stroke:none; font-weight:300; font-family:"Helvetica Neue",Helvetica,Arial,sans-serf; font-size:14px; }
.mermaid .label { color: rgb(51, 51, 51); }
.mermaid .node { fill: #d2d2d2; stroke: #929193; stroke-width: 1px; }
.mermaid .edgePath .path { stroke: #333333 !important; }
.DiagrammeR g .label { font-family: Helvetica; …
Run Code Online (Sandbox Code Playgroud)

svg r mermaid

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

stringr包中的Perl正则表达式

perl()函数在最新版本的 stringr 中已被弃用,取而代之的是regex(). 但是,我似乎无法复制早期的行为。

要将字符串向量的第一个字母大写,可以使用以下方法:

name <- c("jim", "john", "bill")
str_replace(name, perl("^(.)"), "\\U\\1")
Run Code Online (Sandbox Code Playgroud)

然而,这不再有效:

str_replace(name, regex("^(.)"), "\\U\\1")
Run Code Online (Sandbox Code Playgroud)

但使用基本 R 是有效的:

gsub("^(.)", "\\U\\1", name, perl=TRUE)
Run Code Online (Sandbox Code Playgroud)

还有办法用 stringr 包来做到这一点吗?

regex r stringr

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

Blogdown中Twitter卡的相对图像路径

我正在尝试建立一个模板,用于在中生成Twitter Card blogdown。它放入以下内容layouts/partials/twitter-card.html

<meta name="twitter:site" content="@myname">
<meta name="twitter:creator" content="@myname">
{{ if .IsPage }}
<meta name="twitter:description" content="{{ .Summary }}" />
<meta name="twitter:title" content="{{ .Title }}" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:image" content="{{ .Params.image }}" /> {{ else }}
<meta name="twitter:title" content="{{ .Site.Title }}" />
<meta name="twitter:description" content="{{ .Description }}" /> {{ end }}
Run Code Online (Sandbox Code Playgroud)

以及以下内容layouts/partials/head.html

{{ partial "twitter-card" . }}
Run Code Online (Sandbox Code Playgroud)

在给定的博客文章foo.Rmd中,我将其放在YAML中:

image: "static/post/foo/figure-html/some_image.png"
Run Code Online (Sandbox Code Playgroud)

当我让hugo生成帖子时,一切正常,我得到:

<meta name="twitter:image" content="static/post/fixed-points_files/figure-html/some_image.png" /> 
Run Code Online (Sandbox Code Playgroud)

但是,当我预览我的Twitter卡时,图片不会显示。我想我必须在YAML前端设置一个不同的路径,但是我找不到关于路径格式应该是什么的文档,并且所有教程在其示例中都使用绝对URL。

twitter r r-markdown hugo blogdown

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

Unicode与knitr和Rmarkdown

是否有一套在knitr和Rmarkdown中使用Unicode的最佳实践或文档?在编织文档时,我似乎无法正确显示任何字形.

例如,这适用于控制台(在Rstudio中):

> cat("\U2660   \U2665  \U2666  \U2663")
?   ?   ?   ?
Run Code Online (Sandbox Code Playgroud)

但是在编织时,我得到了这个:

(云服务对我来说是阻止的,因此我无法将图像直接上传到SO).

unicode r knitr r-markdown

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

编织Rmarkdown块时,不同的语言(尤其是Rcpp)不打印输出

这适用于Rstudio,我在运行块时直接在文档中获得实时预览.但是,当我将.Rmd编织为.html时,我只得到代码的回显而没有输出.

```{r engine='Rcpp'}
#include <Rcpp.h>
using namespace Rcpp;

// [[Rcpp::export]]
int main() {
  return 4;
}

/*** R
main()
*/
```
Run Code Online (Sandbox Code Playgroud)

但是,如果我对python做同样的事情,我会在编织时获得正确的输出:

```{r engine='python'}
print("abc")
```
Run Code Online (Sandbox Code Playgroud)

r rcpp knitr r-markdown

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