从R中的数据框总结观察结果(多个条件)
我目前面临以下问题,非常感谢您的帮助。我的数据框看起来像这样从R中的数据框总结观察结果(多个条件),r,dataframe,dplyr,R,Dataframe,Dplyr,我目前面临以下问题,非常感谢您的帮助。我的数据框看起来像这样 country_birth year migrants live_in gender Albania 2000 1 Australia male Germany 2000 2 Australia female Albania 2008 3
country_birth year migrants live_in gender
Albania 2000 1 Australia male
Germany 2000 2 Australia female
Albania 2008 3 Australia male
Albania 2000 6 Australia female
Germany 2004 2 Australia female
UK 2004 2 Germany female
US 2004 5 UK male
country_birth year total_migrants live_in
Albania 2000 7 Australia
... ... ... ...
现在,我想获得同一出生国和同一居住国在匹配年份的移民总数(男女均)。一个新的数据帧应该是这样的
country_birth year migrants live_in gender
Albania 2000 1 Australia male
Germany 2000 2 Australia female
Albania 2008 3 Australia male
Albania 2000 6 Australia female
Germany 2004 2 Australia female
UK 2004 2 Germany female
US 2004 5 UK male
country_birth year total_migrants live_in
Albania 2000 7 Australia
... ... ... ...
非常感谢 您可以尝试
聚合
+子集
如下
> aggregate(migrants ~ ., subset(df, select = -gender), sum)
country_birth year live_in migrants
1 Albania 2000 Australia 7
2 Germany 2000 Australia 2
3 Germany 2004 Australia 2
4 Albania 2008 Australia 3
5 UK 2004 Germany 2
6 US 2004 UK 5
在哪里
省略列subset
gender
帮助您聚合aggregate
,按所有其他列分组移民
聚合
+子集
如下
> aggregate(migrants ~ ., subset(df, select = -gender), sum)
country_birth year live_in migrants
1 Albania 2000 Australia 7
2 Germany 2000 Australia 2
3 Germany 2004 Australia 2
4 Albania 2008 Australia 3
5 UK 2004 Germany 2
6 US 2004 UK 5
在哪里
省略列subset
gender
帮助您聚合aggregate
,按所有其他列分组移民
库(tidyverse)
数据%>%
计数(出生国、年份、居住地、wt=移民,name=“总移民”)
##tibble:6 x 4
#国家出生年份居住人口总数
#
#1阿尔巴尼亚2000澳大利亚7
#2阿尔巴尼亚2008澳大利亚3
#3德国2000澳大利亚2
#4德国2004澳大利亚2
#5英国2004德国2
#6美国2004英国5
库(tidyverse)
数据%>%
计数(出生国、年份、居住地、wt=移民,name=“总移民”)
##tibble:6 x 4
#国家出生年份居住人口总数
#
#1阿尔巴尼亚2000澳大利亚7
#2阿尔巴尼亚2008澳大利亚3
#3德国2000澳大利亚2
#4德国2004澳大利亚2
#5英国2004德国2
#6美国2004英国5
以下是{dplyr}方法:
data %>%
group_by(country_birth, year, live_in) %>%
summarise(total_migrants = sum(total_migrants))
通过阅读或,您可以了解有关分组摘要的更多信息。以下是{dplyr}方法:
data %>%
group_by(country_birth, year, live_in) %>%
summarise(total_migrants = sum(total_migrants))
您可以通过阅读或了解有关分组摘要的更多信息