小编nat*_*e-m的帖子

如何将 Theil-Sen 方法与 geom_smooth 一起使用

我正在尝试在 ggplot 的 geom_smooth 中实现 theil-sen 运算符。在一个理想的世界,将读取类似:geom_smooth(..., methods= "mblm")。我似乎无法找到答案,也无法弄清楚如何为此自定义方法。任何建议、指针或代码帮助将不胜感激。

我想有效地将​​ add "mblm" 替换为 geom_smooth 中的方法选项:

library(tidyverse)
library(mblm)


# Option 1 - adding 'mblm' into the methods directly
ggplot(mtcars, aes(qsec, wt))+   
geom_point() +     
geom_smooth(method='mblm')

# Option 2 - defining the Theil-Sen function outside
ts_fit <- mblm(qsec ~ wt, data = mtcars)
ggplot(mtcars, aes(qsec, wt))+   
geom_point() +     
geom_smooth( alpha=0,method=ts_fit)
Run Code Online (Sandbox Code Playgroud)

两者都不起作用。我生成了警告Warning message: Computation failed in stat_smooth(): unused argument (weights = weight),这是 geom_smooth 行中必不可少的错误。任何帮助,将不胜感激。

提前致谢,内特

r ggplot2

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

从 R 的 sf 包中并行化 st_union

我有一些包含数百万个多边形的大型 shapefile 需要解散。根据 shapefile,我需要按组溶解或仅st_union用于所有人。我一直在使用该st_par 功能,它对大多数科幻应用程序都非常有效。虽然当我在st_union它上面使用这个函数时会返回一个列表,但我无法弄清楚如何并行化 sf 溶解函数st_union

任何建议将是最有帮助的!这是一个小代码片段来说明我的观点。

library(sf)
library(assertthat)
library(parallel)

us_shp <- "data/cb_2016_us_state_20m/cb_2016_us_state_20m.shp"
if (!file.exists(us_shp)) {
  loc <- "https://www2.census.gov/geo/tiger/GENZ2016/shp/cb_2016_us_state_20m.zip"
  dest <- paste0("data/cb_2016_us_state_20m", ".zip")
  download.file(loc, dest)
  unzip(dest, exdir = "data/cb_2016_us_state_20m")
  unlink(dest)
  assert_that(file.exists(us_shp))
}

usa <- st_read("data/cb_2016_us_state_20m/cb_2016_us_state_20m.shp", quiet= TRUE) %>%
  filter(!(STUSPS %in% c("AK", "HI", "PR")))

test <- usa %>%
  st_par(., st_union, n_cores = 2)
Run Code Online (Sandbox Code Playgroud)

r r-sf

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

标签 统计

r ×2

ggplot2 ×1

r-sf ×1