howmanytrees               package:ape               R Documentation

_C_a_l_c_u_l_a_t_e _N_u_m_b_e_r_s _o_f _P_h_y_l_o_g_e_n_e_t_i_c _T_r_e_e_s

_D_e_s_c_r_i_p_t_i_o_n:

     This function calculates the number of possible phylogenetic trees
     for a given number of tips.

_U_s_a_g_e:

     howmanytrees(n, rooted = TRUE, binary = TRUE,
                  labeled = TRUE, detail = FALSE)

_A_r_g_u_m_e_n_t_s:

       n: a positive numeric integer giving the number of tips.

  rooted: a logical indicating whether the trees are rooted (default is
          'TRUE').

  binary: a logical indicating whether the trees are bifurcating
          (default is 'TRUE').

 labeled: a logical indicating whether the trees have tips labeled
          (default is 'TRUE').

  detail: a logical indicating whether the eventual intermediate
          calculations should be returned (default is 'FALSE'). This
          applies only for the multifurcating trees, and the
          bifurcating, rooted, unlabeled trees (aka tree shapes).

_D_e_t_a_i_l_s:

     In the cases of labeled binary trees, the calculation is done
     directly and a single numeric value is returned.

     For multifurcating trees, and bifurcating, rooted, unlabeled
     trees, the calculation is done iteratively for 1 to 'n' tips. Thus
     the user can print all the intermediate values if 'detail = TRUE',
     or only a single value if 'detail = FALSE' (the default).

     For multifurcating trees, if 'detail = TRUE', a matrix is returned
     with the number of tips as rows (named from '1' to 'n'), and the
     number of nodes as columns (named from '1' to 'n - 1').

     For bifurcating, rooted, unlabeled trees, a vector is returned
     with names equal to the number of tips (from '1' to 'n').

     The number of unlabeled trees (aka tree shapes) can be computed
     only for the rooted binary cases.

     Note that if an infinite value ('Inf') is returned this does not
     mean that there is an infinite number of trees (this cannot be if
     the numnber of tips is finite), but that the calculation is beyond
     the limits of the computer.

_V_a_l_u_e:

     a single numeric value, or in the case where 'detail = TRUE' is
     used, a named vector or matrix.

_A_u_t_h_o_r(_s):

     Emmanuel Paradis paradis@isem.univ-montp2.fr

_R_e_f_e_r_e_n_c_e_s:

     Felsenstein, J. (2004) _Inferring phylogenies_. Sunderland:
     Sinauer Associates.

_E_x_a_m_p_l_e_s:

     ### Table 3.1 in Felsenstein 2004:
     for (i in c(1:20, 30, 40, 50))
       cat(paste(i, howmanytrees(i), sep = "\t"), sep ="\n")
     ### Table 3.6:
     howmanytrees(8, binary = FALSE, detail = TRUE)

