2016-09-19 8 views
6

मैंने कई कथन पोस्ट पढ़ी हैं लेकिन मेरी सरल समस्या का उत्तर नहीं मिला है। यदि स्टेटमेंट में एकाधिक शर्त के आधार पर मैं डेटा फ्रेम 'परीक्षक' में एक नया कॉलम बनाना चाहता हूं।आर कथन में कई स्थितियां

tester<- as.data.frame(matrix(data=c(seq(1,300,by=1.5)), ncol=4)) 

if (tester$V3> 200 && tester$V4>250){tester[,5] <- "one"} else tester$V5 <-NA 

यह मैं भले ही पिछले 17 पंक्तियों दोनों ही मामलों के लिए सही कर रहे हैं और "एक" होना चाहिए संपूर्ण स्तंभ के लिए NAS देता है। यहाँ क्या हो रहा है? आपके सहयोग के लिए धन्यवाद!

+10

परीक्षक $ V5 <- ifelse (परीक्षक $ V3> 200 और परीक्षक $ V4> 250, "एक", NA) – HubertL

+0

धन्यवाद जो काम करता है! मेरा काम क्यों नहीं हुआ? – user3431218

+1

क्योंकि आपने इसे & –

उत्तर

1

इस धागे को पढ़ें R - boolean operators && and ||

असल में, & वेक्टरकृत है, यानी यह इनपुट के समान आयाम के साथ एक तार्किक सरणी लौटने की तुलना के तुलना में तुलना के प्रत्येक तत्व पर कार्य करता है। && नहीं है, एक तार्किक लौट रहा है।

संबंधित मुद्दे