小编Mat*_*ill的帖子

当矢量化不可行时,在数据框中迭代行的 tidyverse 方法是什么?

我想知道当第 n 行变量的值取决于第 n-1 行和/或第 n-2 行变量的值时,迭代数据帧行的最佳方法。理想情况下,我想以“tidyverse”的方式来做到这一点,也许使用 purrr::pmap()。

例如,假设我有这个数据框:

library(dplyr)

x <- tibble(t = c(1:10),
            a = c(seq(100, 140, 10), rep(NA_real_, 5)),
            b = c(runif(5), rep(NA_real_, 5)),
            c = c(runif(5), rep(NA_real_, 5)))

x
#> # A tibble: 10 x 4
#>        t     a      b         c
#>    <int> <dbl>  <dbl>     <dbl>
#>  1     1   100  0.750  0.900   
#>  2     2   110  0.898  0.657   
#>  3     3   120  0.731  0.000137
#>  4     4   130  0.208  0.696   
#>  5     5   140  0.670  0.882 …
Run Code Online (Sandbox Code Playgroud)

r dplyr purrr tidyverse

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

如果需要的话,我如何告诉 R 的弹性表在单词内添加换行符以适合我的表格的可用宽度?

我喜欢flextableR 的包。我用它来为 Shiny 应用程序创建表。有时,表格占据浏览器宽度的一半,这在某些浏览器上可能是相当狭窄的空间。我想限制flextable不超过其容器宽度,即使这意味着在单词中插入换行符。

这是一些示例flextable代码。一旦将查看器窗口缩小到超过一定宽度,就flextable不会进一步缩小 - 相反,表格将水平滚动。

library(magrittr)

mtcars %>%
  tibble::rownames_to_column("car") %>%
  flextable::flextable() %>%
  flextable::autofit()
Run Code Online (Sandbox Code Playgroud)

reactable包通过在必要时在单词中插入换行符来处理此问题,以便保持在最大表格宽度内。这通常是一个丑陋的解决方案,但有时是首选。

mtcars %>%
  tibble::rownames_to_column("car") %>%
  reactable::reactable(defaultColDef = reactable::colDef(minWidth = 1))
Run Code Online (Sandbox Code Playgroud)

如果有必要不超过容器宽度,有没有办法flextable在单词中插入换行符?

r flextable shiny

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

标签 统计

r ×2

dplyr ×1

flextable ×1

purrr ×1

shiny ×1

tidyverse ×1