Zawsze uważałem pliki profilu startowego innych osób za przydatne i pouczające o języku. Co więcej, chociaż mam pewne modyfikacje dla Basha i Vima , nie mam nic dla R.
Na przykład zawsze chciałem mieć różne kolory tekstu wejściowego i wyjściowego w terminalu okna, a może nawet podświetlanie składni.
r
terminal
customization
rprofile
Peter Mortensen
źródło
źródło
.Rprofile
powinien zawierać żadnego kodu, który zmienia wyniki. Możesz dołączyć rzeczy, które zmieniają wygląd R (np.options("width"=160)
) Lub domyślne lustro CRAN (npoptions(repos = c(CRAN = "http://cran.rstudio.com"))
.). Nie należy jednak ładować pakietów, zmieniać domyślnych opcji regularnie używanych funkcji, definiować funkcji itp. Kod powinien być samodzielny i odtwarzać wyniki bez określonego.Rprofile
pliku..Rprofile
?.Rprofile
jest odpowiednim miejscem do wprowadzania zmian w aplikacji. Po drugie, twoje pytanie powinno być osobnym pytaniem SO. Próbuję użyć wzorca podobnego do tego, co zrobiliśmy w naszym projekcie kontroli żywności (zobacz układ kodu i kroki inicjalizacji u góry każdego skryptu).Odpowiedzi:
Tu jest moje. Nie pomoże ci w kolorowaniu, ale dostaję to od ESS i Emacsa ...
źródło
r
a następnierm
dodawać, możesz umieścić to wlocal({ })
bloku. Dobra odpowiedź, uwielbiam konfigurację X11!local({ ... })
jak pokazano whelp(Startup)
tym, co zwykle robię w tych dniachRprofile.site
. Od jakiegoś czasu nie potrzebowałemChociaż tak naprawdę nie mam tego w moim .Rprofile, ponieważ może to zepsuć kod moich współautorów, chciałbym, aby był to domyślny. Czemu?
1) Wektory znaków zużywają mniej pamięci (ale tylko ledwo);
2) Co ważniejsze, uniknęlibyśmy takich problemów, jak:
i
Czynniki są świetne, gdy ich potrzebujesz (np. Implementacja zamawiania na wykresach), ale przez większość czasu są uciążliwe.
źródło
Nienawidzę za każdym razem wpisywać pełnych słów „głowa”, „podsumowanie”, „imiona”, więc używam aliasów.
Możesz umieścić aliasy w swoim pliku .Rprofile, ale musisz użyć pełnej ścieżki do funkcji (np. Utils :: head), inaczej nie zadziała.
EDIT: aby odpowiedzieć na to pytanie, można użyć colorout pakiet mają różne kolory w terminalu. Chłodny! :-)
źródło
n
że ugryzłby mnie osobiście w tył podczas debugowania..startup <- new.env()
assign("h", utils::head, env=.startup)
assign("n", base::names, env=.startup)
assign("ht", function(d) rbind(head(d,6),tail(d,6)) , env=.startup)
assign("s", base::summary, env=.startup)
attach(.startup)
sum <- base::summary
. To nie był taki świetny pomysł.colorout
: "" "Ten pakiet został zarchiwizowany: wykorzystał punkty wejścia inne niż API, które nie są dozwolone przez zasady CRAN." ""To moje. Zawsze używam głównego repozytorium Cran i mam kod, aby ułatwić sobie kod źródłowy pakietu programistycznego.
źródło
Lubię zapisywać moją historię poleceń R i mieć ją dostępną przy każdym uruchomieniu R:
W powłoce lub .bashrc:
w .Rprofile:
źródło
Oto dwie funkcje, które uważam za przydatne do pracy z systemem Windows.
Pierwszy konwertuje
\
s na/
.Drugi otwiera katalog roboczy w nowym oknie eksploratora.
źródło
.repath
jest tak wsiada do mojego .Rprofile.snippet wpp
`r paste("\"", gsub("\\\\", "/", readClipboard()), "\"", sep = "")`
Mam tę, bardziej dynamiczną sztuczkę, aby użyć pełnej szerokości terminala, która próbuje odczytać ze zmiennej środowiskowej COLUMNS (w systemie Linux):
W ten sposób R użyje pełnej szerokości, nawet podczas zmiany rozmiaru okna terminala.
źródło
COLUMNS
nie jest ustawiony, możesz spróbować zastosowaćwidth = as.integer(system('tput cols',intern=TRUE)
mechanizm ochronny.Większość moich osobistych funkcji i załadowanych bibliotek znajduje się w skrypcie Rfunctions.r
źródło
Oto mój ~ / .Rprofile , zaprojektowany dla komputerów Mac i Linux.
Dzięki temu błędy są lepiej widoczne.
Nienawidzę wyboru menu CRAN, więc ustaw na dobry.
Więcej historii!
Poniższe informacje dotyczą uruchamiania w systemie Mac OSX z terminala (który zdecydowanie wolę R.appa, ponieważ jest bardziej stabilny i możesz uporządkować swoją pracę według katalogu; również upewnij się, że masz dobre ~ / .inputrc ). Domyślnie dostajesz wyświetlacz X11, który nie wygląda tak ładnie; to zamiast tego daje wyświetlacz kwarcowy taki sam jak GUI.
if
Oświadczenie ma złapać przypadek, gdy używasz R z terminalu na Mac.I wstępnie załaduj kilka bibliotek,
gdzie util.r to losowa torba rzeczy, których używam, w ciągłym przepływie.
Ponieważ inne osoby wspominały o szerokości konsoli, oto jak to zrobić.
W rzeczywistości tak nie jest,
.Rprofile
ponieważ musisz go ponownie uruchomić za każdym razem, gdy zmieniasz rozmiar okna terminala. Mam to,util.r
a następnie po prostu źródła w razie potrzeby.źródło
Oto moje:
źródło
?new.env
,?assign
a?sys.source
. Jeśli nie możesz go uruchomić, opublikuj nowe Q na SO, a jestem pewien, że otrzymasz odpowiedzi.my.as.Date
może zostać zastąpionyLubridate
. Czy mam rację?źródło
Spraw, by ramki data.frame wyświetlały się trochę jak „głowa”, tylko bez konieczności wpisywania „głowa”
(Od Jak zrobić, aby „głowa” była automatycznie stosowana do wyjścia? )
źródło
Często mam ciąg wywołań debugowania, do których muszę zadzwonić, a ich odkomentowanie może być bardzo uciążliwe. Z pomocą społeczności SO wybrałem następujące rozwiązanie i umieściłem to w moim
.Rprofile.site
.# BROWSER
jest dostępny dla moich zadań Eclipse, dzięki czemu mam przegląd wywołań przeglądarki w oknie Widok zadań.źródło
Mój nie jest zbyt fantazyjny:
źródło
Wykonuję dużo pracy z baz danych MySQL, więc natychmiastowe połączenie jest darem niebios. Chciałbym tylko, żeby istniał sposób na wylistowanie dostępnych baz danych, aby nie musiałem pamiętać wszystkich różnych nazw.
źródło
Wpis Stephena Turnera na .Rprofiles ma kilka przydatnych aliasów i funkcji startowych.
Często używam jego ht i hh.
źródło
corner
która robi to samo co twojahh
funkcja i trochę więcej. ;)Oto moje, w tym niektóre ze wspomnianych pomysłów.
Dwie rzeczy, na które możesz chcieć spojrzeć:
.
źródło
Używam następujących poleceń, aby uzyskać cacheSweave (lub pgfSweave) do pracy z przyciskiem „Kompiluj PDF” w RStudio:
źródło
Kopalnia obejmuje
options(menu.graphics=FALSE)
bo lubię Wyłącz / stłumić tcltk popup dla CRAN selekcji lustra w badania .źródło
To moje. Nic zbyt innowacyjnego. Myśli o tym, dlaczego poszczególne wybory:
stringsAsFactors
ponieważ uważam, że bardzo wyczerpujące jest przekazywanie go jako argumentu za każdym razem, gdy czytam CSV. To powiedziawszy, już spowodowało to pewne dręczenie podczas używania kodu zapisanego na moim zwykłym komputerze na komputerze, który nie miałem mojego .Rprofile. Trzymam go jednak, ponieważ problemy, które spowodował, są blade w porównaniu z problemami, których codzienne ustawianie nie spowodowało.utils
pakiet nie zostanie załadowany wcześniejoptions(error=recover)
, nie można go odzyskać po umieszczeniu winteractive()
bloku..db
mojego ustawienia Dropbox, a nieoptions(dropbox=...)
dlatego, że używam go cały czas w środkufile.path
i oszczędza dużo pisania. Wiodący.
zapobiega wyświetlaniu gols()
.Bez ceregieli:
źródło
Oto mały fragment do eksportowania tabel do LaTeXa . Zmienia wszystkie nazwy kolumn na tryb matematyki dla wielu raportów, które piszę. Reszta mojego .Rprofile jest dość standardowa i głównie opisana powyżej.
źródło
W moim profilu ustawiam motyw kolorów sieci. Oto dwa inne poprawki, których używam:
źródło
setwd
zamiana będzie działać lepiej w wersji:utils::assignInNamespace("setwd",function(dir) {on.exit(setWindowTitle(base::getwd())); .Internal(setwd(dir))}, "base")
Mam zmienną środowiskową R_USER_WORKSPACE, która wskazuje na górny katalog moich pakietów. W .Rprofile definiuję funkcję devlib, która ustawia katalog roboczy (tak, aby dane () działały) i źródło wszystkich plików .R w podkatalogu R. Jest dość podobny do powyższej funkcji l () Hadleya.
źródło
Stwierdziłem, że dwie funkcje są naprawdę konieczne: po pierwsze, kiedy ustawiłem
debug()
kilka funkcji i usunąłem błąd, więc chcęundebug()
wszystkich funkcji - nie jedna po drugiej.undebug_all()
Funkcja dodana jako Zaakceptowanych odpowiedź tutaj jest najlepsza.Po drugie, kiedy zdefiniowałem wiele funkcji i szukam konkretnej nazwy zmiennej, trudno jest znaleźć ją we wszystkich wynikach
ls()
, w tym w nazwach funkcji.lsnofun()
Funkcja pisał tutaj jest naprawdę dobra.źródło