小编Rob*_*ald的帖子

Quarto Revealjs:增加代码块的相对字体大小

在 quarto Revealjs 中,代码块的字体大小小于文本的字体大小。更改基本字体(使用fontsize)只会按比例更改所有内容。我希望能够调整代码块的相对字体大小。我认为这涉及自定义 CSS,但我不确定要更改什么。

---
format:
  revealjs
---

* Here is text

```{r echo=TRUE, eval=FALSE}
str(mtcars)
```
Run Code Online (Sandbox Code Playgroud)

输出如下所示:

Revealjs 输出

更新:修改我提出的问题的答案font-sizecode.sourceCode修改font-sizeforcode会更改代码、输出的大小,并且还会更改所有逐字元素的字体大小。不幸的是,对于许多用例来说,它会改变太多。

css r reveal.js quarto

7
推荐指数
2
解决办法
1656
查看次数

bind_rows_(x,.id)中的错误:参数1必须具有名称

这是一个代码片段:

y <- purrr::map(1:2, ~ c(a=.x))
test1 <- dplyr::bind_rows(y)
test2 <- do.call(dplyr::bind_rows, y)
Run Code Online (Sandbox Code Playgroud)

第一次调用bind_rowstest1)会产生错误

Error in bind_rows_(x, .id) : Argument 1 must have names
Run Code Online (Sandbox Code Playgroud)

另一方面,使用do.call来调用bind_rowstest2)可以按预期工作:

test2
# A tibble: 2 x 1
      a
  <int>
1     1
2     2
Run Code Online (Sandbox Code Playgroud)

为什么?这使用的是dplyr 0.7.6和purrr 0.2.5。如果我使用map_df代替map,它将失败,并显示相同的错误。

注意:在我看来,这个问题与bind_rows_(x,.id)中的错误并不相同:参数1必须具有在purrr中使用map_df的名称

编辑:解决此问题的另一种方法是首先显式创建一个数据框:

y <- purrr::map(1:2, ~ data.frame(a=.x))
Run Code Online (Sandbox Code Playgroud)

test1并且test2现在创建时没有错误并且完全相同。

或者,这test2一步创建数据帧:

purrr::map_df(1:2, ~ data.frame(a=.x))
Run Code Online (Sandbox Code Playgroud)

r dplyr tidyverse

6
推荐指数
2
解决办法
8800
查看次数

地址具有哈希时的R地理编码查询错误

包含" #"(例如公寓号码)的地址经常会给出错误的位置结果,包括ggmap :: geocode和谷歌地图,因此这不是严格意义上的R问题.在此示例中,#3在街道地址后添加" "会将位置结果从伊利诺伊州更改为加利福尼亚州:

> test <- geocode('1200 Davis St, Evanston, IL 60202', source='google', output='more')
> test[, c('lon', 'lat', 'administrative_area_level_1')]
        lon      lat administrative_area_level_1
1 -87.68978 42.04627                    Illinois

> testhash <- geocode('1200 Davis St #3, Evanston, IL 60202', source='google', output='more')
> testhash[, c('lon', 'lat', 'administrative_area_level_1')]     
        lon      lat administrative_area_level_1
1 -122.1692 37.72169                  California
Run Code Online (Sandbox Code Playgroud)

如果您直接尝试谷歌地图,有时在地址中添加哈希似乎会混淆查找,从而产生各种地理上分散的结果.这并不总是发生,但根据我的经验经常发生.它很容易修复(地理编码时不需要公寓号码),但我想知道为什么会发生这种情况,以及是否有其他关于输入地址的注意事项.

google-maps r geocode ggmap

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

为什么R dplyr :: mutate与自定义函数不一致

这个问题是"为什么",而不是如何.在下面的代码中,我试图理解为什么用整个向量dplyr::mutate计算一个自定义函数(f())而不用另一个自定义函数(g()).究竟在mutate做什么?

set.seed(1);sum(rnorm(100, c(0, 10, 100)))
f=function(m) {
    set.seed(1)
    sum(rnorm(100, mean=m))
}
g <- function(m) sin(m)
df <- data.frame(a=c(0, 10, 100))
y1 <- mutate(df, asq=a^2, fout=f(a), gout=g(a))
y2 <- rowwise(df) %>%
    mutate(asq=a^2, fout=f(a), gout=g(a))
y3 <- group_by(df, a) %>%
    summarize(asq=a^2, fout=f(a), gout=g(a))
Run Code Online (Sandbox Code Playgroud)

对于所有三列,asq,fout,和gout,评价是横行中y2y3,结果是相同的.但是,y1$fout对于所有三行,这是3640.889,这是评估的结果sum(rnorm(100, c(0, 10, 100))).因此该函数f()正在评估每一行的整个向量.

一个密切相关的问题已经在R dplyr(Pass自定义函数)中的其他位置进行mutate/transform,但是没有解释"为什么".

r dplyr

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

将函数名称作为参数传递给mapply?

我想在mapply中将函数名称作为参数传递:

f2 <- function(a, b) a + b^2
f <- function(a, b, func) func(a, b)
f(1, 3, f2)  ## returns 10
mapply(f2,  1:2,  3)  ## returns [1] 10 11
mapply(function(a, b) f(a, b, f2), 1:2,  3) ## returns [1] 10 11
mapply(f,  1:2,  3,  f2)  ## fails
Run Code Online (Sandbox Code Playgroud)

最后一次mapply调用会产生错误

Error in dots[[3L]][[1L]] : object of type 'closure' is not subsettable

有什么办法吗?

r mapply

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

标签 统计

r ×5

dplyr ×2

css ×1

geocode ×1

ggmap ×1

google-maps ×1

mapply ×1

quarto ×1

reveal.js ×1

tidyverse ×1