r - Search and find values row-wise a dataframe -
मेरा डेटाफ्रेम इस तरह दिखता है:
x1 & lt; -c ("a", सी ("बी", "सी", "जी", "कश्मीर") x3 & lt; - c ("b", "d", "h") "c", "f", "j" (एनए) x4 और एलटी; - c ("ए", "ई", "आई", एनए) डीएफ & एलटी; - डेटा.फ्रेम (x1, x2, x3, x4, स्ट्रिंग्सएफ़एक्टर्स = एफ) डीएफ x1 x2 x3 x4 1 Abba 2 ccde 3 fghi 4 jk & lt; NA & gt; & LT; एनए & gt;
अब मेरे पास एक मनमाना वेक्टर है:
vec & lt; - c ("a", "i", "s", "t" "Z")
मैं डेटाफ़्रेम में प्रत्येक पंक्ति के साथ सदिश मानों की तुलना करना चाहूंगा और एक अतिरिक्त कॉलम बनाऊं, जो इंगित करता है कि कम से कम एक वेक्टर मान पाया गया था या नहीं। / P>
परिणामी डेटाफ्रेम इस तरह दिखना चाहिए:
x1 x2 x3 x4 मूल्य 1 एबा 1 1 2 सीसीडी 0 3 एफजी 1 4 जेके & lt; NA & gt; & LT; एनए & gt; 0
मैं बिना पाशन के लिए करना चाहता हूं। आपके समर्थन के लिए बहुत-बहुत धन्यवाद!
रामी
यहाँ एक तरीका है {1} फ़ंक्शन (x) {यदि (किसी भी (x% में% vec)) {1} अन्य {0}}) लागू करें:
df $ valueFound & lt; # & Gt; डीएफ एक्स 1 एक्स 2 एक्स 3 एक्स 4 वैल्यूफ़ाउंड 1 ए बी बी ए 1 सी 2 सी डी ई ई 3 एफ जी एच आई 1 4 जे कश्मीर एलटी; एनए & gt; & LT; एनए & gt; 0
डेविड एरिरबर्ग और @ कैथ के लिए धन्यवाद, जो कुछ अधिक संक्षिप्त दृष्टिकोण हैं:
-
लागू करें (df, 1, function (x) ) किसी भी (x%% vec) + 0)
-
लागू करें (df, 1, function (x) as.numeric (any (x% in% vec))) बस कुछ मज़ेदार मज़े के लिए:
-
लागू (डीएफ, 1, फ़ंक्शन (x) कोई भी (% X%% vec में)% /% TRUE)
-
लागू करें (डीएफ, 1, फ़ंक्शन (एक्स) कमप्रोड (कोई भी (x%% vec))) कोड>
-
Comments
Post a Comment