小编Das*_*asr的帖子

do() 被取代!替代方案是使用 across()、nest_by() 和 summarise,如何实现?

我正在做一些非常简单的事情。给定特定期间的开始日期和结束日期的数据框,我想为按周分箱的每个期间扩展/创建完整序列(每行的因子),然后将其输出到单个大数据框中。

例如:

library(tidyverse)
library(lubridate)

# Dataset
  start_dates = ymd_hms(c("2019-05-08 00:00:00",
                          "2020-01-17 00:00:00",
                          "2020-03-03 00:00:00",
                          "2020-05-28 00:00:00",
                          "2020-12-10 00:00:00",
                          "2021-05-07 00:00:00",
                          "2022-01-04 00:00:00"), tz = "UTC")
  
  end_dates = ymd_hms(c( "2019-10-24 00:00:00",
                         "2020-03-03 00:00:00", 
                         "2020-05-28 00:00:00",
                         "2020-12-10 00:00:00",
                         "2021-05-07 00:00:00",
                         "2022-01-04 00:00:00",
                         "2022-01-19 00:00:00"), tz = "UTC") 
  
  df1 = data.frame(studying = paste0("period",seq(1:7),sep = ""),start_dates,end_dates)
Run Code Online (Sandbox Code Playgroud)

有人建议我使用 do(),它目前工作正常,但当事情被取代时我讨厌它。我也有一种使用map2的方法。但是阅读文件(https://dplyr.tidyverse.org/reference/do.html)建议您可以使用nest_by()、cross()和summarise()来完成与do()相同的工作,我会怎么做关于得到相同的结果?我尝试了很多东西,但我似乎无法得到它。

# do() way to do it
df1 %>% 
  group_by(studying) %>% 
  do(data.frame(week=seq(.$start_dates,.$end_dates,by="1 week")))
Run Code Online (Sandbox Code Playgroud)
# transmute() way to do it
 df1 %>% 
  transmute(weeks = map2(start_dates,end_dates, seq, …
Run Code Online (Sandbox Code Playgroud)

r dplyr purrr tidyverse

6
推荐指数
1
解决办法
307
查看次数

ggplot2中心y轴标题

我确信有一个简单的解决方案,但我环顾四周却找不到任何东西。

本质上,我只想y-axis水平翻转标题,然后将其沿y-axis. 我已经设法翻转它,但我似乎找不到将其沿轴居中的参数。

这是一个可重现的示例:

require(tidyverse)

iris %>% ggplot() + geom_point(aes(x = Sepal.Length, y = Sepal.Width)) +
theme(axis.title.y = element_text(angle=0))
Run Code Online (Sandbox Code Playgroud)

先谢谢了!

r ggplot2

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

插入图像/PNG ggplot2 - Cowplot

我正在尝试使用cowplot包的draw_image()功能。我已经设法在图表中获取图像作为示例。

我无法弄清楚 xy 位置是如何工作的,我必须不断输入随机数,直到看到图像。

require(ggplot2) #required packages
require(cowplot)
require(magick)

p1 <- qplot(Sepal.Length, Sepal.Width, data = iris)

ggdraw(p1) +      
  draw_image(
    "https://upload.wikimedia.org/wikipedia/en/7/77/EricCartman.png",
    y = 0.2,
    scale = 0.5
  )
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议他们的运作规模如何?它看起来确实与图表的比例不同。

r ggplot2 cowplot

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

标签 统计

r ×3

ggplot2 ×2

cowplot ×1

dplyr ×1

purrr ×1

tidyverse ×1