मैं आर का उपयोग कर रहा हूं और उत्तर के लिए चारों ओर खोज किया है, लेकिन जब मैंने इसी तरह के प्रश्न देखे हैं, तो यह मेरी विशिष्ट समस्या के लिए काम नहीं किया है।एनए की सैपली फ़ंक्शन में अनदेखा करें
मेरे डेटा सेट में मैं NA
के प्लेसहोल्डर्स के रूप में उपयोग करने की कोशिश कर रहा हूं क्योंकि मैं अपने विश्लेषण का हिस्सा लेने के बाद उन पर वापस लौटने जा रहा हूं इसलिए, मैं अपनी सभी गणनाओं को करने में सक्षम होना चाहता हूं अगर NA
वास्तव में वहां नहीं थे।
Error in if ((x) > test) { : missing value where TRUE/FALSE needed
तुम लोग जानते हैं, यह कुछ sapply समारोह के साथ गलत है:
यहाँ एक उदाहरण डेटा तालिका
ROCA = c(1,3,6,2,1,NA,2,NA,1,NA,4,NA)
ROCA <- data.frame (ROCA=ROCA) # converting it just because that is the format of my original data
#Now my function
exceedes <- function (L=NULL, R=NULL, na.rm = T)
{
if (is.null(L) | is.null(R)) {
print ("mycols: invalid L,R.")
return (NULL)
}
test <-(mean(L, na.rm=TRUE)-R*sd(L,na.rm=TRUE))
test1 <- sapply(L,function(x) if((x)> test){1} else {0})
return (test1)
}
L=ROCA[,1]
R=.5
ROCA$newcolumn <- exceedes(L,R)
names(ROCA)[names(ROCA)=="newcolumn"]="Exceedes1"
मैं त्रुटि हो रही है साथ मेरे मुद्दा है। NA
के अनदेखा करने के तरीके पर कोई विचार? मैं na.omit
का प्रयास करूंगा यदि मैं इसे सभी NA
के दाएं को सम्मिलित करने के लिए प्राप्त कर सकता हूं, लेकिन मुझे यकीन नहीं है कि यह कैसे करें।
क्यों न केवल एक और कथन समारोह में बयान दर्ज करें जो एनए वापस करता है यदि एक्स एनए है? साथ ही, यदि आप अपने फ़ंक्शन में कहीं भी 'ब्राउज़र()' डालते हैं, तो अगली बार जब आप इसे चलाते हैं तो वह उस स्थान पर रुक जाएगा। –
प्रतिक्रिया के लिए धन्यवाद! मुझे यकीन नहीं है कि मैंने यह सही किया है, क्योंकि मुझे अभी भी एक ही त्रुटि मिल रही है। यहां मेरा कोड test1 <- sapply (एल, फ़ंक्शन (x) है ((x) == NA) {NA} अन्य यदि ((x)> परीक्षण) {1} अन्य {0} ) और त्रुटि है अब: अगर त्रुटि ((x) == NA) {: अनुपलब्ध मान जहां TRUE/FALSE की आवश्यकता है – Tim
आपको इसे जांचने के लिए 'is.na (x)' का उपयोग करना होगा। 'x == NA' वापस लौटाता है ... – Tommy