R中枢轴较长的问题

  • 本文关键字:问题 r dplyr pivot
  • 更新时间 :
  • 英文 :


这是下面问题的延续。以下的样本数据

area <- c("Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado", "Connecticut", "Delaware")
sept2020 <- c(.120,.125,.130,.110,.095,.045,.131,.029)
oct2020 <- c(.121,.129,.128,.119,.099,.041,.138,.028)
nov2020 <- c(.119,.128,.129,.118,.091,.048,.139,.185)
percent <- data.frame(area,sept2020,oct2020,nov2020)

library(dplyr)
percent2 <- percent %>%
mutate(across(-1, ~ rank(desc(.)), .names = "{.col}_rank"))

###first attempt
percent2 <- percent2 %>% filter (area == "Delaware") %>% pivot_longer(names_to = "rank", values_to = "count")

如何在R 中一次构造多个列

所以我有6列。2020年9月、10月、11月、9月2020_rank、10月2020_rank和11月2020_Lank。

我的假设是,要生成时间为x轴、秩为y轴的ggplot图,我必须首先将其变为长(以下示例(。我的第一次尝试是在上面。在这种情况下,cols项目是什么?我希望为各个州制作图表。

area    date      rank
Delware  sept2020    8
Delaware   oct2020   8
Delaware   nov2020   1

您可以尝试这样做,但仍然保留value列。

percent_res <- percent %>% pivot_longer(cols = 2:4, names_to = "date") %>% group_by(date) %>% mutate(rank = rank(value)) %>% ungroup()

最新更新