MEMPERBARUI:
Semua jawaban di atas tidak akan berfungsi untuk nilai yang diulang, jawaban @ BenBolker menggunakan duplicated()predikat memecahkan ini:
full_vector[!full_vector %in% searched_vector | duplicated(full_vector)]
Jawaban Asli: di
sini saya menulis sedikit fungsi untuk ini:
exclude_val<-function(full_vector,searched_vector){
found=c()
for(i in full_vector){
if(any(is.element(searched_vector,i))){
searched_vector[(which(searched_vector==i))[1]]=NA
}
else{
found=c(found,i)
}
}
return(found)
}
jadi, katakan saja full_vector=c(1,2,3,4,1)dan searched_vector=c(1,2,3).
exclude_val(full_vector,searched_vector)akan kembali (4,1), namun jawaban di atas akan kembali dengan adil (4).
setdifflebih baik, karena melakukan segalanya dalam satu operasi, dan referensi vektor yang diubah hanya sekali.