我有一个数据框,每一行都是一个独特的观察。
如果观测位于彼此之间指定的时间距离(例如 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) 我正在制作倾斜条形图的几个实例。由于计数大小和百分比差异不同,在某些情况下,其中一个标签(计数)的一部分会被推到栏外。在所有情况下,我需要标签完全位于栏内。如果没有重新定位以适合条形图,我需要将标签按原样居中。
代码是:
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) 似乎我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 文件的渲染过程: …