小编rje*_*jen的帖子

识别在空间和时间上重叠的观察

我有一个数据框,每一行都是一个独特的观察。

如果观测位于彼此之间指定的时间距离(例如 30 天)内,则观测在时间上会重叠。

如果观测位于彼此指定的空间距离(例如 20 公里)内,则观测在空间上会重叠。

我正在处理时间和空间重叠的观察集合。我想创建一个列(重叠),其中包含与观察重叠的观察 ID 的向量。我已经尝试了下面的解决方案,但运行时间太短,解决方案不适用。

library(dplyr)
library(lubridate)
library(purrr)
library(geosphere)

spat_proximity <- function(x, y, z) {
  
  return(which(map_dbl(y, ~ distGeo(., x)) <= z))}


temp_proximity <- function(x, y, z) {
    
  return(which(map_dbl(y, ~ abs(x - .)) <= z))}


test %>%
  mutate(overlaps = map2(map(place, ~ spat_proximity(., place, 20000)),
                         map(time, ~ temp_proximity(., time, 30)),
                         ~ intersect(.x, .y)))
Run Code Online (Sandbox Code Playgroud)

关于如何加快速度的想法将不胜感激。

期望输出


structure(list(id = 1:42, time = structure(c(1478601762, 1475170279, 
1469770219, 1462441336, 1474739469, 1488216507, 1475203721, 1468705558, 
1481722718, 1485897197, 1488669576, 1501288618, 1510266595, 1516828588, 
1497048175, 1516546144, 1507576242, …
Run Code Online (Sandbox Code Playgroud)

r tidyverse

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

geom_text() 的边界位置

我正在制作倾斜条形图的几个实例。由于计数大小和百分比差异不同,在某些情况下,其中一个标签(计数)的一部分会被推到栏外。在所有情况下,我需要标签完全位于栏内。如果没有重新定位以适合条形图,我需要将标签按原样居中。

在此输入图像描述

代码是:

library(tidyverse)
library(ggplot2)

data <- tibble(type = c('Cat', 'Dog'),
               group = c('Pets', 'Pets'),
               count = c(10000, 990000),
               percent = c(1, 99))

ggplot(data, aes(x = group, y = percent, fill = type)) +
  geom_bar(stat = 'identity', 
           position = position_stack(reverse = TRUE)) +
  coord_flip() +
  geom_text(aes(label = count),
            position = position_stack(vjust = 0.5, 
                                      reverse = TRUE))
Run Code Online (Sandbox Code Playgroud)

r ggplot2 geom-text

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

渲染为 PDF 时 Markdown 中出现 kableExtra 错误?

似乎我kableExtra在尝试通过从 R 脚本渲染 Rmd 文件来创建 PDF时遇到了问题。我在尝试按照以下说明操作时没有成功:

R降价编译错误: https : //github.com/rstudio/bookdown/issues/440 https://community.rstudio.com/t/rendering-both-pdf-and-html-is-only-possible-interactively- not-via-script/19520/3 https://github.com/haozhu233/kableExtra/issues/301

我将从脚本访问包:

library(tidyverse)
library(knitr)
library(rmarkdown)
library(tinytex)
Run Code Online (Sandbox Code Playgroud)

制作 Rmd 文件:

---
output: pdf_document 
---
{r, comment = NA, echo = FALSE, message = FALSE, warning = FALSE}

tibble(x = 1, y = 2, z = 3) %>%
    kable()
Run Code Online (Sandbox Code Playgroud)

使用以下命令从脚本渲染 Rmd 文件:

render('C:/Users/Rasmus/SO/Test.Rmd',
    output_file = "Test.pdf",
    output_format = 'pdf_document',
    output_dir = 'C:/Users/Rasmus/SO')
Run Code Online (Sandbox Code Playgroud)

这给了我一个带有表格的 PDF。但是,如果我从library(kableExtra)与其他人一起运行开始,然后应用渲染程序,我会得到一个包含以下内容的 PDF:

x
y
z
1
2
3
Run Code Online (Sandbox Code Playgroud)

运行后library(kableExtra),我尝试了以下 Rmd 文件的渲染过程: …

pdf r r-markdown kableextra

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

标签 统计

r ×3

geom-text ×1

ggplot2 ×1

kableextra ×1

pdf ×1

r-markdown ×1

tidyverse ×1