,我试图总结R中的“现代”一词,并对其进行统计。,问题是原始的excel文件具有与其他疫苗混合的值。正如你所看到的,我的原始R文件中有“现代”的单词,与'Oxford/Astrazeneca‘混在一起。
这是我的尝试,试图总结‘现代’在代码是低于。
代码如下:
Number_Of_Countries_Using_Moderna <- Number_of_Vaccines_used %>%
group_by(vaccines) %>%
summarize(Moderna_Countries=sum(n))我会用group_by疫苗,以获得现代疫苗,然后尝试总结现代疫苗的数量(在这个过程中建立一个新的专栏)。问题是使用‘group_by(疫苗)功能’是不正确的。
你们有什么建议吗?谢谢你抽出时间:)
以下两种解决方案中的任何一种都解决了问题,谢谢。
发布于 2021-09-02 07:55:47
如果我的理解是正确的,那么每当n列中提到vaccines时,您都在试图得到vaccines的和?如果是这样的话,下面是一个解决方案。您需要“筛选”,而不是"group_by":
Number_of_Vaccines_used %>%
filter(grepl("Moderna", vaccines)) %>%
summarize(Moderna_Countries = sum(n))发布于 2021-09-02 08:16:29
不完全是你想要的:如果你想要一份完整的疫苗清单及其数量,你可以用
library(dplyr)
library(tidyr)
Number_of_Vaccines_used %>%
mutate(vaccines = strsplit(vaccines, ", ")) %>%
unnest(vaccines) %>%
group_by(vaccines) %>%
summarise(n = sum(n))这导致了类似的结果
# A tibble: 10 x 2
vaccines n
<chr> <int>
1 Covaxin 1
2 EpiVacCorona 1
3 Johnson&Johnson 2
4 Moderna 35
5 Oxford/AstraZeneca 105
6 Pfizer/BioNTech 82
7 Sinopharm/Beijing 24
8 Sinopharm/Wuhan 2
9 Sinovac 18
10 Sputnik V 20数据
structure(list(vaccines = c("Covaxin, Oxford/AstraZeneca", "EpiVacCorona, Sputnik V", "Johnson&Johnson", "Johnson&Johnson, Moderna, Pfizer/BioNTech", "Moderna", "Moderna, Oxford/AstraZeneca"), n = c(1L, 1L, 1L, 1L, 1L, 1L)), row.names = c(NA, -6L), class = c("tbl_df", "tbl", "data.frame"))https://stackoverflow.com/questions/69026065
复制相似问题