Daftar polanya terlihat seperti:
pattern <- c('aaa','bbb','ccc','ddd')
X berasal dari df terlihat seperti:
df$X <- c('aaa-053','aaa-001','aab','bbb')
Apa yang saya coba lakukan: gunakan agrep untuk menemukan nama yang cocok dalam pola berdasarkan df$X, lalu berikan nilai ke kolom 'kolom2' yang ada berdasarkan hasil pencocokan, misalnya jika 'aaa-053' cocok dengan 'aaa' , maka 'aaa' akan menjadi nilai di 'kolom2', jika tidak cocok, kembalikan na di kolom tersebut.
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
}
}
Kolom2 ideal di df terlihat seperti:
'aaa','aaa',na,'bbb'
aaa
cocok denganaab
Anda? - person r2evans   schedule 19.03.2021