Βίντεο: iOS App Development with Swift by Dan Armendariz 2024
Τα σφάλματα και οι προειδοποιήσεις έχουν διαφορετικές λειτουργίες στο R Δεν μπορείτε να εντοπίσετε σφάλματα, επειδή απλά διακόπτουν τον κωδικό σας. Οι προειδοποιήσεις από την άλλη πλευρά είναι ένα εντελώς διαφορετικό κτήνος. Ακόμη και αν ο R προειδοποιεί, συνεχίζει να εκτελεί τον κώδικα ανεξάρτητα. Μπορείτε να αγνοήσετε τις προειδοποιήσεις, αλλά γενικά αυτή είναι μια πολύ κακή ιδέα. Οι προειδοποιήσεις είναι συχνά το μόνο σημάδι που έχετε ότι ο κώδικας σας έχει κάποιο σημασιολογικό ή λογικό σφάλμα.
> xy <- if (x <5) 0 else 1 Προειδοποιητικό μήνυμα: In αν (x 1 και μόνο το πρώτο στοιχείο θα χρησιμοποιηθείΑυτή η προειδοποίηση δείχνει σε σημασιολογικό σφάλμα: εάν αναμένει μια μόνο τιμή TRUE ή FALSE, αλλά παρείχατε ένα ολόκληρο διάνυσμα Σημειώστε ότι, όπως τα σφάλματα, γενικά ο οποίος κώδικας έχει δημιουργήσει την προειδοποίηση
Ακολουθεί μια άλλη προειδοποίηση που εμφανίζεται τακτικά και μπορεί να δείχνει ένα σημασιολογικό ή λογικό σφάλμα στον κώδικα σας: >> x sqrt (x - 5) [1] NaN Προειδοποιητικό μήνυμα: Σε sqrt (x - 5): Παραγόμενα NaNs
Επειδή το x - 5 είναι αρνητικό όταν το x είναι 4, το R δεν μπορεί να υπολογίσει την τετραγωνική ρίζα και σας προειδοποιεί ότι η τετραγωνική ρίζα ένας αρνητικός αριθμός δεν είναι ένας αριθμός (NaN).Εάν είστε μαθηματικός, μπορείτε να επισημάνετε ότι η τετραγωνική ρίζα του -1 είναι 0 - 1i. τότε θα πρέπει να ορίσετε τις μεταβλητές σας ως πολύπλοκες αριθμοί μπορεί να ελέγξει, για παράδειγμα, το αρχείο βοήθειας; για περισσότερες πληροφορίες.
Παρόλο που οι περισσότερες προειδοποιήσεις προκύπτουν είτε από σημασιολογικά ή λογικά σφάλματα στον κώδικα σας, ακόμη και ένα απλό συντακτικό σφάλμα μπορεί να δημιουργήσει μια προειδοποίηση αντί για ένα σφάλμα. Εάν θέλετε να σχεδιάσετε ορισμένα σημεία στο R, χρησιμοποιείτε τη συνάρτηση plot (). Για να καθορίσετε το χρώμα των σημείων, παίρνετε ένα argument col για να προσδιορίσετε το χρώμα των σημείων, αλλά εσείς θα μπορούσατε να προσπαθήσετε εσφαλμένα να χρωματίσετε τα σημεία χρησιμοποιώντας το ακόλουθο: >> plot (1: 10, 10: 1, χρώμα = "πράσινο")
δοκιμάστε αυτό, θα λάβετε έξι προειδοποιητικά μηνύματα ταυτόχρονα, όλοι σας λένε ότι το χρώμα δεν είναι ίσως το όνομα του όρου που αναζητάτε:
Προειδοποιητικά μηνύματα: 1: Στο οικόπεδο. παράθυρο (…): Το "χρώμα" δεν είναι γραφική παράμετρος 2: Στην πλοκή. xy (xy, τύπος, …): Το "χρώμα" δεν είναι γραφική παράμετρος …Παρατηρήστε ότι τα προειδοποιητικά μηνύματα δεν δείχνουν προς τον κωδικό που πληκτρολογήσατε στη γραμμή εντολών. Αντίθετα, δείχνουν τις λειτουργίες που δεν χρησιμοποιούσατε ποτέ πριν, όπως η πλοκή. παράθυρο () και οικόπεδο. xy ().
Μπορείτε να μεταβιβάσετε τα επιχειρήματα από μία συνάρτηση σε άλλη χρησιμοποιώντας το επιχείρημα των κουκίδων. Αυτό ακριβώς κάνει το plot () εδώ. Επομένως, ο σχεδιασμός plot () δεν παράγει προειδοποίηση, αλλά κάθε λειτουργία που το plot () περνάει το όρισμα χρώματος.
Επομένως, συνοψίζοντας, οι περισσότερες προειδοποιήσεις δείχνουν ένα από τα παρακάτω προβλήματα:
Η λειτουργία σας έδωσε ένα αποτέλεσμα, αλλά για κάποιο λόγο αυτό το αποτέλεσμα μπορεί να μην είναι σωστό.
Η συνάρτηση δεν μπορούσε να αντιμετωπίσει μερικά από τα επιχειρήματα και να τα αγνόησε.
Μόνο η τελευταία λέει ότι υπάρχει ένα πρόβλημα με τη σύνταξή σας. Για τους άλλους, πρέπει να εξετάσετε λίγο περισσότερο τον κώδικα σας.