Список шаблонов выглядит так:
pattern <- c('aaa','bbb','ccc','ddd')
X пришел из df выглядит так:
df$X <- c('aaa-053','aaa-001','aab','bbb')
Что я пытался сделать: используйте agrep, чтобы найти совпадающее имя в шаблоне на основе df $ X, затем присвойте значение существующему столбцу «column2» на основе результата сопоставления, например, если «aaa-053» соответствует «aaa» , тогда "aaa" будет значением в "column2", если не совпадает, то вернет na в этом столбце.
for (i in 1:length(pattern)) {
match <- agrep(pattern, df$X, ignore.case=TRUE, max=0)
if agrep = TRUE {
df$column2 <- pattern
} else {df$column2 <- na
}
}
Идеальный столбец2 в df выглядит так:
'aaa','aaa',na,'bbb'
aaa
совпадает с вашимaab
? - person r2evans   schedule 19.03.2021