我是新手,但努力自学。我正在查看babynames
数据集并尝试获取DF
,其中名称Kerry
按年份分组,其中包含女性数量列和数字列数男性这就是我正在做的事情:
kDF <- babynames %>%
filter(name == "Kerry") %>%
group_by(year) %>%
spread(sex, n)
我的结果:
year name prop F M
(dbl) (chr) (dbl) (int) (int)
1 1920 Kerry 4.019228e-06 5 NA
2 1921 Kerry 5.272723e-06 NA 6
3 1922 Kerry 4.443149e-06 NA 5
4 1923 Kerry 6.181856e-06 NA 7
5 1924 Kerry 1.112053e-05 NA 13
6 1925 Kerry 4.750590e-06 6 NA
7 1925 Kerry 1.215902e-05 NA 14
8 1926 Kerry 8.730209e-06 NA 10
9 1927 Kerry 4.044368e-06 5 NA
10 1927 Kerry 1.205207e-05 NA 14
你可以看到,有一些重复的年份:1925年,1927年。我想要的是这些年来的单行具有适当的F和M值。我该怎么做?
期望的输出:
year name prop F M
(dbl) (chr) (dbl) (int) (int)
1 1920 Kerry 4.019228e-06 5 NA
2 1921 Kerry 5.272723e-06 NA 6
3 1922 Kerry 4.443149e-06 NA 5
4 1923 Kerry 6.181856e-06 NA 7
5 1924 Kerry 1.112053e-05 NA 13
6 1925 Kerry 4.750590e-06 6 14 <<<
7 1926 Kerry 8.730209e-06 NA 10
8 1927 Kerry 4.044368e-06 5 14 <<<
答案 0 :(得分:0)
我想你想要这样的东西:
library(dplyr)
library(tidyr)
answer =
babynames %>%
filter(name == "Kerry") %>%
group_by(year, sex) %>%
summarize(n = sum(n)) %>%
spread(sex, n, fill = 0)