R 为两个字符串变量创建唯一ID
我有一个类似于以下内容的交易数据集:R 为两个字符串变量创建唯一ID,r,uniqueidentifier,R,Uniqueidentifier,我有一个类似于以下内容的交易数据集: df <- data.frame("Reporter" = c("USA", "USA", "USA", "USA", "USA", "USA", "USA", "USA", "Africa","Africa", "Afric
df <- data.frame("Reporter" = c("USA", "USA", "USA", "USA", "USA", "USA", "USA", "USA", "Africa","Africa", "Africa","Africa", "Africa","Africa", "Africa","Africa", "EU", "EU","EU", "EU", "EU", "EU", "EU", "EU"),
"Partner" = c("Asia", "Asia", "Asia", "Asia","Africa","Africa", "Africa","Africa","EU", "EU","EU", "EU", "USA", "USA", "USA", "USA", "USA", "USA", "USA", "USA","Africa","Africa", "Africa","Africa"),
"Year" = c( 1970, 1970, 1980, 1980, 1970, 1970, 1980, 1980, 1970, 1970, 1980, 1980, 1970, 1970, 1980, 1980, 1970, 1970, 1980, 1980, 1970, 1970, 1980, 1980),
"Flow" = c("Import", "Export","Import", "Export","Import", "Export","Import", "Export","Import", "Export","Import", "Export","Import", "Export","Import", "Export","Import", "Export","Import", "Export", "Import", "Export","Import", "Export"),
"Val" = runif(24, min=0, max=100), stringsAsFactors = FALSE)
使用此技术的问题是,ID在partID和repID之间不匹配。
e、 g.美国ID在repID中为“1”,而在partID中为“4”
我想创建两列中一致的国家ID,例如,美国在repID和partID中都是“1”。此外,重要的是,所有非记者的合作伙伴(即亚洲)都有自己独特的代码。这两个因素应具有相同的级别。对于这两个因素的级别,您应该使用较大的集合(合作伙伴)
df$repID <- as.numeric(factor(df$Reporter, levels=unique(df$Partner)))
df$partID <- as.numeric(factor(df$Partner, levels=unique(df$Partner)))
df$repID尝试使用lvls创建相同的levels
您也可以这样做df$repID非常感谢您解决了我的问题!
df$repID <- as.numeric(factor(df$Reporter, levels=unique(df$Partner)))
df$partID <- as.numeric(factor(df$Partner, levels=unique(df$Partner)))