max([column]),其中name=(name列中的每个唯一名称)表示R中的每一年
我正在使用R中的婴儿姓名数据进行练习max([column]),其中name=(name列中的每个唯一名称)表示R中的每一年,r,R,我正在使用R中的婴儿姓名数据进行练习 total_n <-babynames %>% mutate(name_gender = paste(name,sex))%>% group_by(year) %>% summarise(total_n = sum(n, na.rm=TRUE)) %>% arrange(total_n) bn <- inner_join(babynames,total_n,by = "year") d
total_n <-babynames %>%
mutate(name_gender = paste(name,sex))%>%
group_by(year) %>%
summarise(total_n = sum(n, na.rm=TRUE)) %>%
arrange(total_n)
bn <- inner_join(babynames,total_n,by = "year")
df <- bn%>%
mutate(pct_of_names = n/total_n)%>%
group_by(name, year)%>%
summarise(pct =sum(pct_of_names))
total\u n%
变异(姓名性别=粘贴(姓名性别))%>%
组别(年份)%>%
总结(总数=总和(n,na.rm=TRUE))%>%
安排(总数)
亿元
集团单位(名称、年份)%>%
总结(pct=总和(姓名的pct))
数据帧输出如下所示:
对于每个名字,都有所有年份,以及该年份的相关pct。我一直在为每个名字争取最高的pct。我该怎么做 非常简单,只要您知道
babynames
数据的来源。您拥有所需的一切:
library(dplyr)
library(babynames)
total_n <-babynames %>%
mutate(name_gender = paste(name,sex))%>%
group_by(year) %>%
summarise(total_n = sum(n, na.rm=TRUE)) %>%
arrange(total_n)
bn <- inner_join(babynames,total_n,by = "year")
df <- bn%>%
mutate(pct_of_names = n/total_n)%>%
group_by(name, year)%>%
summarise(pct =sum(pct_of_names))
库(dplyr)
图书馆(babynames)
总数%
变异(姓名性别=粘贴(姓名性别))%>%
组别(年份)%>%
总结(总数=总和(n,na.rm=TRUE))%>%
安排(总数)
亿元
集团单位(名称、年份)%>%
总结(pct=总和(姓名的pct))
您错过了最后一步:
df %>%
group_by(name) %>%
filter(pct == max(pct))
# A tibble: 95,025 x 3
# Groups: name [95,025]
name year pct
<chr> <dbl> <dbl>
1 Aaban 2014 4.338256e-06
2 Aabha 2014 2.440269e-06
3 Aabid 2003 1.316094e-06
4 Aabriella 2015 1.363073e-06
5 Aada 2015 1.363073e-06
6 Aadam 2015 5.997520e-06
7 Aadan 2009 6.031433e-06
8 Aadarsh 2014 4.880538e-06
9 Aaden 2009 3.335645e-04
10 Aadesh 2011 1.370356e-06
# ... with 95,015 more row
df%>%
分组单位(名称)%>%
过滤器(pct==最大(pct))
#A tibble:95025x3
#分组:名称[95025]
名称年份pct
1 Aaban 2014 4.338256e-06
2 Aabha 2014 2.440269e-06
3 Aabid 2003 1.316094e-06
4 Aabriella 2015 1.363073e-06
5 Aada 2015 1.363073e-06
6 Aadam 2015 5.997520e-06
7 Aadan 2009 6.031433e-06
8 Aadarsh 2014 4.880538e-06
9 Aaden 2009 3.335645e-04
10 Aadesh 2011 1.370356e-06
# ... 还有95015行
groupby
和filter
是您的朋友。非常简单,只要您知道babynames
数据的来源。您拥有所需的一切:
library(dplyr)
library(babynames)
total_n <-babynames %>%
mutate(name_gender = paste(name,sex))%>%
group_by(year) %>%
summarise(total_n = sum(n, na.rm=TRUE)) %>%
arrange(total_n)
bn <- inner_join(babynames,total_n,by = "year")
df <- bn%>%
mutate(pct_of_names = n/total_n)%>%
group_by(name, year)%>%
summarise(pct =sum(pct_of_names))
库(dplyr)
图书馆(babynames)
总数%
变异(姓名性别=粘贴(姓名性别))%>%
组别(年份)%>%
总结(总数=总和(n,na.rm=TRUE))%>%
安排(总数)
亿元
集团单位(名称、年份)%>%
总结(pct=总和(姓名的pct))
您错过了最后一步:
df %>%
group_by(name) %>%
filter(pct == max(pct))
# A tibble: 95,025 x 3
# Groups: name [95,025]
name year pct
<chr> <dbl> <dbl>
1 Aaban 2014 4.338256e-06
2 Aabha 2014 2.440269e-06
3 Aabid 2003 1.316094e-06
4 Aabriella 2015 1.363073e-06
5 Aada 2015 1.363073e-06
6 Aadam 2015 5.997520e-06
7 Aadan 2009 6.031433e-06
8 Aadarsh 2014 4.880538e-06
9 Aaden 2009 3.335645e-04
10 Aadesh 2011 1.370356e-06
# ... with 95,015 more row
df%>%
分组单位(名称)%>%
过滤器(pct==最大(pct))
#A tibble:95025x3
#分组:名称[95025]
名称年份pct
1 Aaban 2014 4.338256e-06
2 Aabha 2014 2.440269e-06
3 Aabid 2003 1.316094e-06
4 Aabriella 2015 1.363073e-06
5 Aada 2015 1.363073e-06
6 Aadam 2015 5.997520e-06
7 Aadan 2009 6.031433e-06
8 Aadarsh 2014 4.880538e-06
9 Aaden 2009 3.335645e-04
10 Aadesh 2011 1.370356e-06
# ... 还有95015行
groupby
和filter
是你的朋友。omg,真不敢相信这么简单,我在考虑循环。非常感谢。天哪,真不敢相信这么简单,我在考虑循环。非常感谢。