  Many real-world systems are profitably described as complex networks that
grow over time. Preferential attachment and node fitness are two simple growth
mechanisms that not only explain certain structural properties commonly
observed in real-world systems, but are also tied to a number of applications
in modeling and inference. While there are statistical packages for estimating
various parametric forms of the preferential attachment function, there is no
such package implementing non-parametric estimation procedures. The
non-parametric approach to the estimation of the preferential attachment
function allows for comparatively finer-grained investigations of the
`rich-get-richer' phenomenon that could lead to novel insights in the search to
explain certain nonstandard structural properties observed in real-world
networks. This paper introduces the R package PAFit, which implements
non-parametric procedures for estimating the preferential attachment function
and node fitnesses in a growing network, as well as a number of functions for
generating complex networks from these two mechanisms. The main computational
part of the package is implemented in C++ with OpenMP to ensure scalability to
large-scale networks. We first introduce the main functionalities of PAFit
through simulated examples, and then use the package to analyze a collaboration
network between scientists in the field of complex networks. The results
indicate the joint presence of `rich-get-richer' and `fit-get-richer' phenomena
in the collaboration network. The estimated attachment function is observed to
be near-linear, which we interpret as meaning that the chance an author gets a
new collaborator is proportional to their current number of collaborators.
Furthermore, the estimated author fitnesses reveal a host of familiar faces
from the complex networks community among the field's topmost fittest network
scientists.
