提取国家/地区ID并将其分配给区域虚拟组

时间:2018-09-03 07:16:00

标签: grouping dummy-variable grepl

我有一个具有以下结构的data.frame,其中包含多个变量和数千个条目。

  > data <- data.frame(country_code=c("AT12", "AT23", "AT33", "BG01", "BG45", "FR11", "FR23"), year=c("2000", "2001", "2000", "2005", "2007","2005","2000"))

我想将一个特定区域组中的每个条目/区域分组,并将所有这些组列在一个栏中,这样最终结果将如下所示:

  > data_grouped <- data.frame(country_code=c("AT12", "AT23", "AT33", "BG01", "BG45", "FR11", "FR23"), year=c("2000", "2001", "2000", "2005", "2007","2005","2000"), groups=c("Gr1", "Gr1", "Gr1", "Gr1", "Gr1", "Gr2", "Gr2")). 

基本上,我正在创建区域虚拟对象。

不同国家的多个地区将被分配到一个特定的组。 我尝试了以下方法,但问题是后续命令将覆盖前一个命令。

> data_grouped$groups=grepl("AT",data_grouped$country_code)
> data_grouped$groups=ifelse(data_grouped$groups1=="TRUE","Gr1","")
> data_grouped$groups=grepl("BG",data_grouped$country_code)
> data_grouped$groups=ifelse(data_grouped$groups1=="TRUE","Gr1","")
> data_grouped$groups=grepl("FR",data_grouped$country_code)
> data_grouped$groups=ifelse(data_grouped$groups1=="TRUE","Gr2","")

请告知我如何抵消覆盖。 提前非常感谢!

0 个答案:

没有答案