小编Ale*_*sta的帖子

使用 dplyr::group_by() 对每个组进行 loess 回归

好吧,我挥舞着我的白旗。

我正在尝试对我的数据集计算 loess 回归。

我希望 loess 计算一组不同的点,这些点绘制为每个组的平滑线。

问题是 loess 计算是在逃避dplyr::group_by函数,所以 loess 回归是在整个数据集上计算的。

互联网搜索让我相信这是因为dplyr::group_by不应该以这种方式工作。

我只是不知道如何在每个组的基础上进行这项工作。

以下是我尝试失败的一些示例。

test2 <- test %>% 
  group_by(CpG) %>% 
  dplyr::arrange(AVGMOrder) %>% 
  do(broom::tidy(predict(loess(Meth ~ AVGMOrder, span = .85, data=.))))

> test2
# A tibble: 136 x 2
# Groups:   CpG [4]
   CpG            x
   <chr>      <dbl>
 1 cg01003813 0.781
 2 cg01003813 0.793
 3 cg01003813 0.805
 4 cg01003813 0.816
 5 cg01003813 0.829
 6 cg01003813 0.841
 7 cg01003813 0.854
 8 cg01003813 0.866
 9 cg01003813 0.878
10 cg01003813 0.893 …
Run Code Online (Sandbox Code Playgroud)

r loess dplyr broom purrr

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

标签 统计

broom ×1

dplyr ×1

loess ×1

purrr ×1

r ×1