检查子字符串是否出现在单独的列中
Checking if a substring occurs in a separate column
我需要检查我的数据是否包含基准研究中没有的名称。
我遇到的问题是我的名字被截断了,因此通常是基准研究报告的名字的子字符串。
例如,我的数据的截断版本:
Benchmark `My Data`
Southern Corp Avista
American Electric Power Atmos
Atmos Energy Southern
Delta Natural Gas Co Inc DUET
Avista Corp Duke Energy
Duke Energy Corp American Electric
Pepco Holdings Nextra Energy
比如你可以看到在"My Data"中,name报为"Southern",但在Benchmark中却报为"Southern Corp",同理,我的数据会报"Duke Energy" 作为 "Duke Energy Corp".
我需要查明我的数据集是否包含基准测试集不包含的任何名称。
所以我需要一个标志或帮助列来告诉我我的数据集包括 "Nextra Energy",但基准测试没有。
我想要这样的输出:
Benchmark `My Data` Not in Benchmark
Southern Corp Avista 0
American Electric Power Atmos 0
Atmos Energy Southern 0
Delta Natural Gas Co Inc DUET 1
Avista Corp Duke Energy 0
Duke Energy Corp American Electric 0
Pepco Holdings Nextra Energy 1
谢谢!
dat$flag <- NA
for(i in 1:nrow(dat)){
if(any(grepl(dat$Data[i],dat$Benchmark))){
dat$flag[i] <- 0
} else{
dat$flag[i] <- 1
}
}
dat
Benchmark Data flag
1 Southern Corp Avista 0
2 American Electric Power Atmos 0
3 Atmos Energy Southern 0
4 Delta Natural Gas Co Inc DUET 1
5 Avista Corp Duke Energy 0
6 Duke Energy Corp American Electric 0
7 Pepco Holdings Nextra Energy 1
我需要检查我的数据是否包含基准研究中没有的名称。 我遇到的问题是我的名字被截断了,因此通常是基准研究报告的名字的子字符串。
例如,我的数据的截断版本:
Benchmark `My Data`
Southern Corp Avista
American Electric Power Atmos
Atmos Energy Southern
Delta Natural Gas Co Inc DUET
Avista Corp Duke Energy
Duke Energy Corp American Electric
Pepco Holdings Nextra Energy
比如你可以看到在"My Data"中,name报为"Southern",但在Benchmark中却报为"Southern Corp",同理,我的数据会报"Duke Energy" 作为 "Duke Energy Corp".
我需要查明我的数据集是否包含基准测试集不包含的任何名称。
所以我需要一个标志或帮助列来告诉我我的数据集包括 "Nextra Energy",但基准测试没有。
我想要这样的输出:
Benchmark `My Data` Not in Benchmark
Southern Corp Avista 0
American Electric Power Atmos 0
Atmos Energy Southern 0
Delta Natural Gas Co Inc DUET 1
Avista Corp Duke Energy 0
Duke Energy Corp American Electric 0
Pepco Holdings Nextra Energy 1
谢谢!
dat$flag <- NA
for(i in 1:nrow(dat)){
if(any(grepl(dat$Data[i],dat$Benchmark))){
dat$flag[i] <- 0
} else{
dat$flag[i] <- 1
}
}
dat
Benchmark Data flag
1 Southern Corp Avista 0
2 American Electric Power Atmos 0
3 Atmos Energy Southern 0
4 Delta Natural Gas Co Inc DUET 1
5 Avista Corp Duke Energy 0
6 Duke Energy Corp American Electric 0
7 Pepco Holdings Nextra Energy 1