Jak inni napisali funkcje, a nie wyjaśnienia, będę wypełnić to w.
Ukazuje się z każdym pakietem jest plik opisu. Opcjonalnie opiekun może dołączyć plik CITATION.
Funkcja citation(pkgName)
(gdzie pkgName
jest ciągiem znaków) będzie najpierw szukać pliku CITATION, a następnie pliku DESCRIPTION. Jeśli pierwsza zostanie znaleziona, wyświetli zawartość tego pliku. Jeśli to drugie, automatycznie wygeneruje dane wyjściowe BibTeX na podstawie pól w pliku DESCRIPTION. To wyjście może wymagać dodatkowej korekty, więc należy zachować ostrożność przed użyciem zawartości bezpośrednio w cytowaniu.
Aby zobaczyć opis paczki, packageDescription(pkgName)
zrobi lewy. Spowoduje to wyświetlenie listy elementów, każdy oparty na polu z pliku DESCRIPTION. To jest twój najlepszy zakład, jeśli chcesz programowo pracować z tymi treściami.
Jednym z kluczowych problemów jest to, że autor (y) paczki i opiekun (y) paczki mogą nie być tymi samymi osobami. Jeśli potrzebujesz pomocy z pakietem, powinieneś skontaktować się z opiekunem (ami). Przykładem jest nlme
. Po pierwsze, fragment z informacją Cytat:
> citation("nlme")
To cite package 'nlme' in publications use:
Jose Pinheiro, Douglas Bates, Saikat DebRoy, Deepayan Sarkar and the R Development Core Team (2011). nlme: Linear and
Nonlinear Mixed Effects Models. R package version 3.1-102.
I urywek z informacją opis:
> packageDescription("nlme")
Package: nlme
Title: Linear and Nonlinear Mixed Effects Models
Author: Jose Pinheiro (S version), Douglas Bates (up to 2007), Saikat DebRoy (up to 2002), Deepayan Sarkar (up to 2005), the
R Core team.
Maintainer: R-core <[email protected]>
Należy zauważyć, że autorzy wymienione uczestniczyło ponad różnych odstępach czasu, ale trzeba chcieć pomocy dzisiaj, ty e-mail z [email protected]
Wreszcie, ponieważ opiekunowie mogą tworzyć własne pliki CITATION, informacje o CITATION nie muszą być podzbiorem informacji o DESCRIPTION. Przykładem jest citation("base")
, który zawiera, między innymi, rekord ISBN, którego nie ma na wyjściu packageDescription("base")
.
Aktualizacja 1. Jeśli chcesz pokazać trochę miłości do autorów lub opiekunów, tu jest jakiś kod uzyskać listę najczęściej nazwie autorów lub opiekunów, na podstawie wyjściu installed.packages()
. (Jeśli chcesz ograniczyć go do pakietów używanych przez jakiś kod, sprawdź pakiet mvbutils
i foodweb
- można uzyskać szaleństwo i wyższą pozycję w zależności od częstotliwości połączeń lub czasu spędzonego, jeśli korzystasz z usługi Rprof
.)
Niestety, ten kod nie podzieli ciągów na wiele nazw, więc współpraca jest traktowana jako 1 "osoba", prawdopodobnie z pominięciem pracy osób. Jeśli chcesz dokładną analizę, będziesz musiał wykonać trochę więcej pracy. :)
getMaint <- function(x){
return(packageDescription(x)$Maintainer)
}
getAuth <- function(x){
return(packageDescription(x)$Author)
}
nicePrint <- function(x, N = 10){
tmpTable <- head(sort(table(x), decreasing = TRUE), N)
tmpTable <- as.data.frame(tmpTable)
colnames(tmpTable) = "count"
return(tmpTable)
}
vPkgs <- installed.packages()[,"Package"]
listA <- mapply(getAuth, vPkgs)
listM <- mapply(getMaint, vPkgs)
nicePrint(listA)
nicePrint(listM)
Oto przykład z jednego komputera; przepraszam za brzydkie, zasłonięte adresy e-mail. Powyższy kod tworzy poprawne adresy e-mail z pliku DESCRIPTION, ale je edytowałem.
Autorzy:
nicePrint(listA)
count
Diethelm Wuertz and many others, see the SOURCE file 14
Hadley Wickham <xxxxxxxxxxxxxxxxxxx> 7
R Development Core Team and contributors worldwide 7
Henrik Bengtsson <xxxxxxxxxxxxxxxxx> 4
Revolution Analytics 4
Brian Ripley <xxxxxxxxxxxxxxxxxxxxx>. 3
David Scott <xxxxxxxxxxxxxxxxxxxxxx> 3
Luke Tierney <xxxxxxxxxxxxxxxxxxx> 3
R Development Core Team 3
Opiekunowie:
nicePrint(listM)
count
Rmetrics Core Team <xxxxxxxxxxxxxxxxxxxxxxxxxxx> 19
R Core Team <xxxxxxxxxxxxxxxxxxxx> 13
Brian Ripley <xxxxxxxxxxxxxxxxxxxxx> 9
Achim Zeileis <xxxxxxxxxxxxxxxxxxxxxxxxxxx> 7
Hadley Wickham <xxxxxxxxxxxxxxxxxxx> 7
Torsten Hothorn <xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> 7
David Scott <xxxxxxxxxxxxxxxxxxxxxx> 5
Henrik Bengtsson <xxxxxxxxxxxxxxxxx> 5
Trevor Hastie <xxxxxxxxxxxxxxxxxxx> 5
Luke Tierney <xxxxxxxxxxxxxxxxxxx> 4
Uważny obserwator zauważy, że jest to pytanie z 10000-sze [Tag: r] znacznik. Dziękuję R-core i wszystkim autorom pakietów, którzy sprawili, że R jest genialnym systemem. – Andrie
Technicznie jest to drugie 10000. pytanie. Poprzedni miał już 10000, a następnie pytanie zostało ponownie przypisane, a teraz przyniosłeś go ponownie do 10000. Jeśli będziemy nadal powtarzać pytania, będziemy mogli świętować cały dzień! –
Tytuł pytania sugeruje jasną odpowiedź (@ spacedman's od dołu; 'packageDescription (" foo ") $ Author'), ale ciało trochę męti wodę. Jeśli chodzi o R, istnieje jasno zdefiniowana idea tego, co Autor jest i który jest w "OPISIE". 'citation()' naprawdę w pełni odpowiada na Q, ponieważ robi jedną z dwóch rzeczy: i) jeśli w pakiecie znajduje się plik 'CITATION', to wyświetla go, a jeśli nie jest obecny, automatycznie generuje cytat na podstawie "OPIS". To nie było od razu jasne z Ritchie's Answer, dopóki nie przeczytałem "cytatu". Jedna nowa rzecz, której się dziś nauczyłem! FTW –