(III) Jak wprowadzić funkcję do R

W tej sekcji opisano cztery sposoby wprowadzenia funkcji do R. Pierwszy polega na użyciu edytora. Drugi obejmuje wprowadzanie, jak pokazano w poprzedniej sekcji. Trzeci polega na utworzeniu funkcji poza R i użyciu dget (), aby wprowadzić funkcję do R. Czwarty jest odmianą drugiej i trzeciej i obejmuje kopiowanie i wklejanie ze źródła, które może znajdować się poza R.

Korzystanie z edytora

W systemach operacyjnych Windows i OS X w narzędziach pakietu znajduje się funkcja edit(), która działa dobrze przy tworzeniu nowych funkcji. Celem funkcji edit() jest wywołanie funkcji edycji.

W systemie Windows domyślną funkcją edycji jest edytor wewnętrzny. Możliwe inne opcje edytora to xedit(), emacs(), xemacs(), vi() i pica(), gdzie wybór jest dostępny tylko wtedy, gdy edytor jest obecny w systemie. Domyślny edytor znajduje się na liście w options() i można go zmienić w dowolnym momencie. W systemach OS X jedynym dostępnym edytorem jest edytor vi, który działa dobrze. W systemach operacyjnych Linux wywołanie edit() z okna terminala nie daje dobrego wyniku. Lepszym edytorem jest emacs(), który jest dostępny dla systemów Linux. Większość powyższych informacji pochodzi ze strony pomocy dotyczącej edit(). Wpisz ?edit po znaku monitu R po dodatkowe informacje na temat funkcji edycji.

Aby utworzyć obiekt, który jest funkcją za pomocą edytora, funkcja jest najpierw przypisywana do nazwy. Na przykład niech nazwa będzie f.fun. Aby utworzyć funkcję f.fun(), zacznij od wprowadzenia f.fun = function() {} w wierszu polecenia. Obiekt f.fun następnie zawiera funkcję bez argumentów i instrukcji. Następnym krokiem jest edycja funkcji. Dla uproszczenia w tym przykładzie pokazano tylko funkcję edit(). Inni redaktorzy zachowują się podobnie. Wpisz f.fun = edit (f.fun) po znaku zachęty R. Otwiera się okno edycji do edycji. W trzecim kroku argumenty są wprowadzane w nawiasach i instrukcje funkcji są wprowadzane w nawiasach. Czwarty krok to wyjście z edytora. Aby wyjść z edytora, kliknij x w prawym górnym rogu okna edycji. Pojawi się okno z opcjami zapisania pliku, wyjścia bez zapisywania lub anulowania żądania i powrotu do edycji. (Jeśli w pliku nie wprowadzono żadnych zmian, ekran opcji nie pojawi się.) Kliknij Tak, aby zapisać zmiany, Nie, aby przywrócić do wcześniejszej wersji lub Anuluj, aby wrócić do edycji. Jeśli funkcja jest poprawna pod względem składniowym, zostanie zapisana. W przeciwnym razie edit () zwraca błąd, taki jak następujący:

Error in .External2(C_edit, name, file, title, editor) :

unexpected ‘}’ occurred on line 4

use a command like

x <- edit( )

to recover

Aby odzyskać już wykonaną pracę, wprowadź f.fun = edit(). Używanie nawiasów bez zawartości jest bardzo ważne. Jeśli nazwa funkcji zostanie wprowadzona w nawiasach, zmiany edycji zostaną utracone, a funkcja powróci do wersji przed edycją. Zauważ, że komunikat o błędzie zawiera informacje o problemie z kodem R. Poniżej pokazano dane wejściowe i wyjściowe na konsoli R podczas tworzenia funkcji f.fun () za pomocą edytora, po której następuje lista funkcji i uruchomienie funkcji z pierwszym argumentem ustawionym na zero.

> f.fun = function( ){}

> f.fun = edit(f.fun)

> f.fun

function(mu, se=1, alpha=.05){

z_value = qnorm(1-alpha/2, mu, se)

print(z_value)

}

> f.fun(0)

[1] 1.959964.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *