मेरे पास एक बड़ा csv डेटाफ़्रेम ("mydata") है और यह पता लगाने की आवश्यकता होगी कि क्या कोई मान ("10295") डेटा फ़्रेम में है और किस कॉलम पर है। यहाँ मेरे कोड हैं

any(mydata==10295) 
which(apply(mydata, 2, function(x) any(grepl("10295", x))))

ऐसा करने से, मुझे पहले अनुरोध पर TRUE मिलता है और फिर "1,2,5,39" कॉलम के रूप में खोजा गया मान मिलता है। हालाँकि अगर मैं दौड़ता हूँ

any(mydata$col1==10295) #col1 is the index name of column1

मुझे FALSE मिलता है। मुझे खेद है अगर मैं डेटा अपलोड नहीं कर सकता लेकिन यह एक बहुत बड़ा डेटासेट है। क्या किसी के मन में है कि गलती कहाँ हो सकती है?

0
Mauro 14 नवम्बर 2020, 01:55

1 उत्तर

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

उन स्तंभों का पता लगाने के लिए जिनका मूल्य 10295 है। आप colSums के साथ प्रयास कर सकते हैं।

cols <- which(colSums(mydata == 10295, na.rm = TRUE) > 0)

cols में ऐसे कॉलम नंबर होंगे जिनमें कम से कम 1 मान 10295 होगा।

0
Ronak Shah 14 नवम्बर 2020, 03:02