小编Zhi*_*ang的帖子

适合许多glm模型:提高速度

我正在编写一个适合许多glm模型的函数。为了给您提供一些有关该函数的想法,我包含了一小部分代码。在几个 SO 用户的帮助下,该函数现在可以用于我的分析目的。然而,有时,特别是当样本量相对较小时,可能需要相当长的时间才能完成整个过程。为了减少时间,我正在考虑更改迭代最大化的一些细节,例如最大迭代次数。我还没有找到一种方法来做到这一点,也许是因为我仍然不熟悉R术语。任何这样做的建议或其他减少时间的方法将不胜感激。

all_glm <- function(crude, xlist, data, family = "binomial", ...) {
  # md_lst include formula for many models to be fitted  
  comb_lst <- unlist(lapply(1:n, function(x) combn(xlist, x, simplify=F)), recursive=F)
  md_lst   <- lapply(comb_lst,function(x) paste(crude, "+", paste(x, collapse = "+")))
  models  <- lapply(md_lst, function(x) glm(as.formula(x), family = family, data = data))
  OR      <- unlist(lapply(models, function(x) broom::tidy(x, exponentiate = TRUE)$estimate[2]))

}    
Run Code Online (Sandbox Code Playgroud)

编辑 感谢@BenBolker指导我找到这个包fastglm,我最终得到了几个r可以提供更快的替代品的包glm。我已经尝试过了fastglm并且speedglm。看来两者都比glm我的机器上快。

library(fastglm)
library(speedglm) …
Run Code Online (Sandbox Code Playgroud)

r glm

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

更改 ggplot 条形图填充颜色

有了这个数据:

df <- data.frame(value =c(20, 50, 90), 
                 group = c(1, 2,3))
Run Code Online (Sandbox Code Playgroud)

我可以得到一个条形图:

df %>% ggplot(aes(x = group, y = value, fill = value)) +
  geom_col() +
  coord_flip()+ 
  scale_fill_viridis_c(option = "C") +
  theme(legend.position = "none")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但我希望这些条形的颜色根据它们在 中的相应值而变化value

我已经设法使用以下方法更改它们geom_raster

ggplot() + 
  geom_raster(aes(x = c(0:20), y = .9, fill = c(0:20)),  
              interpolate = TRUE) +
  geom_raster(aes(x = c(0:50), y = 2, fill = c(0:50)), 
              interpolate = TRUE) +
  geom_raster(aes(x = c(0:90), y = 3.1, fill = c(0:90)),               
              interpolate = …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 geom-col

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

连接ggplot2中geom_jitter点的线

我正在尝试连接来自 的点geom_jitter()

 df<-data.frame(x = c(1, 1, 2, 2, 3, 3), 
           y = c(1, 1, 2 , 3, 6, 5), 
           z = c("A", "B", "A", "B", "A", "B")) 
ggplot(df, aes(x = x, y = y, col = z)) + 
  geom_jitter() + 
  geom_line()
Run Code Online (Sandbox Code Playgroud)

现在线和点没有连接。

r ggplot2

3
推荐指数
1
解决办法
2213
查看次数

更改r中sf对象的经度和纬度值

我是新来的sf。在下面的代码中,我生成了两张地图,一张用于美国,一张用于澳大利亚。我想将这两个移动到同一个位置ggplot。我曾尝试改变longitude澳大利亚latitude的价值观geometry。我只是想知道是否有一种快速的方法可以做到这一点。任何建议,将不胜感激。

library(tidyverse)
library(sf)
library(rnaturalearth)
map_au <-ne_states(country = c("australia"), returnclass ="sf") %>%
  select(state = name, geometry)
map_us <-ne_states(country = c("united states of america"), returnclass ="sf") %>%
  select(state = name, geometry) %>% 
  filter(!state %in% c("Alaska", "Hawaii"))
ggplot(data = map_us, aes(fill = state))+
  geom_sf()+
  geom_sf(data = map_au)+ 
  theme(legend.position = "none")
Run Code Online (Sandbox Code Playgroud)

由reprex 包于 2020 年 11 月 4 日创建(v0.3.0)

r ggplot2 r-sf

3
推荐指数
1
解决办法
974
查看次数

rmarkdown:Word 文档中的 kable、xtable 或 tab_df 表

---
output:
  word_document: default
---

```{r setup, include=FALSE}
data("mtcars")
library(tidyverse)
library(xtable)
library(sjPlot)
library(kableExtra)
```

```{r, results='asis'}
df <- mtcars %>% 
group_by(cyl) %>% 
summarise(disp = mean(disp), 
        wt = mean(wt), 
        n = n()
)
kable(df)

# tab_df(df)
# xtable(df) 
```    
Run Code Online (Sandbox Code Playgroud)

我已经尝试过xtabletab_df、 和kable生成带有表格的Word文档。当“编织到 HTML 文档”时,所有表格看起来都很好。当“knit to Word”时,xtable 不显示表格tab_df,而是kable生成一个只有一列的表格:

kable(df) 
cyl
disp
wt
n
4
105.1364
2.285727
Run Code Online (Sandbox Code Playgroud)

r ms-word r-markdown kable

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

标签 统计

r ×5

ggplot2 ×3

geom-col ×1

glm ×1

kable ×1

ms-word ×1

r-markdown ×1

r-sf ×1