आप अपने कर्ली कोष्ठक को पुनर्व्यवस्थित करने की जरूरत है। आपका पहला कथन पूर्ण है, इसलिए आर इसे इस तरह से व्याख्या करता है और अन्य पंक्तियों पर वाक्यविन्यास त्रुटियों का उत्पादन करता है।
if (dsnt<0.05) {
wilcox.test(distance[result=='nt'],distance[result=='t'],alternative=c("two.sided"),paired=TRUE)
} else if (dst<0.05) {
wilcox.test(distance[result=='nt'],distance[result=='t'],alternative=c("two.sided"),paired=TRUE)
} else {
t.test(distance[result=='nt'],distance[result=='t'],alternative=c("two.sided"),paired=TRUE)
}
इसे और अधिक बस में कहें, अगर आपके पास:: अपने कोड की तरह दिखना चाहिए
if(condition == TRUE) x <- TRUE
else x <- FALSE
फिर आर पहली पंक्ति पढ़ता है और यह पूरा हो गया है, क्योंकि अपनी संपूर्णता में चलाता है। जब यह अगली पंक्ति में जाता है, तो यह जाता है "अन्यथा? क्या?" क्योंकि यह एक बिल्कुल नया बयान है। आर बयान करता है, तो पूर्ववर्ती के हिस्से के रूप में किसी और की व्याख्या करने के लिए, आप कर्ली कोष्ठक आर है कि आप अभी तक समाप्त नहीं कर रहे हैं बताने के लिए होना चाहिए:
if(condition == TRUE) {x <- TRUE
} else {x <- FALSE}
स्रोत
2013-02-13 23:56:13
अपने बयान दूसरी पंक्ति से पूरा हुआ या नहीं। तीसरी पंक्ति की शुरुआत में इसके अंत में घुंघराले ब्रैकेट को ले जाएं। 5 वें के लिए वही करो। –
http://stackoverflow.com/questions/13724063/if-else-constructs-inside-and-outside-functions –