मेरे पास कुछ चर के साथ डेटा फ्रेम है, उनमें से एक टेक्स्ट वैरिएबल है:

df$text 

वह मुफ्त लंबा पाठ है .. (चरित्र)

एक अन्य चर df$status है जिसका उपयोग मैं "True" या "False" जोड़ने के लिए करता हूं यदि listb से टेक्स्ट तत्वों में से एक df$text में पाया जाता है यदि लिस्टा से कोई टेक्स्ट तत्व नहीं मिला है:

मैं उन शब्दों के 2 वैक्टर का उपयोग कर रहा हूं जिन्हें मैं खोजता हूं:

lista <-c("apple","fresh orange")
listb <-c("dog","big turtle")

Df$status <-"True" कैसे जोड़ें, यदि listb और df$text के टेक्स्ट तत्वों में से एक से मेल खाता है, केवल अगर lista और df$text के बीच कोई मेल नहीं है, अन्यथा df$status <-"False" असाइन करें

-1
HappyMan 14 जून 2020, 11:37

1 उत्तर

सबसे बढ़िया उत्तर

हम ऐसी स्थिति की जांच कर सकते हैं जहां text listb से मेल खाता हो लेकिन lista से नहीं।

library(stringr)
df$status <- str_detect(df$text, paste(listb, collapse="|")) & 
             !str_detect(df$text, paste(lista, collapse="|"))

या इसे आधार R में grepl के साथ रखते हुए:

df$status <- grepl(paste(listb, collapse="|"), df$text) & 
             !grepl(paste(lista, collapse="|"), df$text)
1
Ronak Shah 14 जून 2020, 08:54