/ / R - r, त्रुटि से निपटने में लूप के अंदर एक त्रुटि को दरकिनार करना

आर-आर, त्रुटि-हैंडलिंग में लूप के अंदर एक त्रुटि को बाईपास करना

मेरे पास एक डमी स्क्रिप्ट है:

a <- 1
b <- 2
c <- 3
e <- 5

list <- letters[1:5]

for (loop in (1:length(list)))
{print(paste(list[loop],get(list[loop]),sep="-"))
}

> source("~/.active-rstudio-document")
[1] "a-1"
[1] "b-2"
[1] "c-3"
Error in get(list[loop]) : object "d" not found

वर्तमान में मेरे पास एक समस्या है कि कब से d मौजूद नहीं है, इसलिए एक त्रुटि संदेश पॉप अप होता है और प्रसंस्करण को अवरुद्ध करता है e.

मुझे आश्चर्य है कि अगर आर में किसी प्रकार की "त्रुटि हैंडलिंग" है, जो कि त्रुटि को बायपास करना है d, प्रसंस्करण जारी रखें e, तब त्रुटि संदेश लौटाएं जब सभी वैध डेटा संसाधित हो जाते हैं।

धन्यवाद।

उत्तर:

जवाब के लिए 5 № 1

उपयोग exists यह जाँचने के लिए कि क्या कोई चर मौजूद है:

for (loop in (1:length(list))){
if(exists(list[loop])){
print(
paste(list[loop], get(list[loop]), sep="-"))
}
}

[1] "a-1"
[1] "b-2"
[1] "c-3"
[1] "e-5"

आमतौर पर, आर में त्रुटियों को पकड़ने और निपटने के लिए एक परिष्कृत तंत्र है। देख ?tryCatch और इसका सरलीकृत आवरण, ?try, अधिक जानकारी के लिए।


जवाब के लिए 2 № 2

हाँ, जैसा कि अधिकांश विकसित भाषाओं में है, ऐसा तंत्र है। चेक ?try.