Phylogeny with duplicate names for a species [R]

Viewed 23

I am trying to run a phylogenetic least squares analysis in R with the package caper.

Unfortunately I don't have all the species in my dataset in my phylogenetic tree. So I am trying to substitute using tips from the most closely related species. This results in duplicate species names.

When I try to rename my row names of my dataset with the phylogenetic tips labels:

row.names(dataframe_holding_my_data) <- new_tip_labels$Genus.Species

I get this error: Error in `.rowNamesDF<-`(x, value = value) : duplicate 'row.names' are not allowed

I have looked into this and there seems to be a solution using the package MCMCglmm (Phylogenetic model using multiple entries for each species) but I was wondering if there was another way I could continue on with the PGLS with duplicate species names? Or if there was another workaround since the 2018 solution?

EDIT: I have added a reproducible example. The below code is a sample of the data and tree that I'm using.

library(caper)

data<-structure(list(Genus.Species = c("Stigmatomma_pallipes", "Dolichoderus_pustulatus", 
"Dorymyrmex_elegans", "Dorymyrmex_elegans", "Dorymyrmex_elegans", 
"Dorymyrmex_elegans", "Forelius_pruinosus", "Linepithema_humile", 
"Tapinoma_melanocephalum", "Tapinoma_sessile", "Neivamyrmex_texanus", 
"Neivamyrmex_nigrescens", "Neivamyrmex_opacithorax", "Neivamyrmex_texanus", 
"Brachymyrmex_depilis", "Brachymyrmex_minutus", "Brachymyrmex_obscurior", 
"Camponotus_americanus", "Camponotus_castaneus", "Camponotus_floridanus", 
"Camponotus_nearcticus", "Camponotus_pennsylvanicus", "Colobopsis_saundersi", 
"Formica_incerta", "Formica_incerta", "Formica_incerta", "Formica_subsericea", 
"Lasius_alienus", "Lasius_umbratus", "Nylanderia_arenivaga", 
"Nylanderia_bourbonica", "Nylanderia_concinna", "Nylanderia_faisonensis", 
"Nylanderia_parvula", "Nylanderia_phantasma", "Nylanderia_pubens", 
"Nylanderia_steinheili", "Nylanderia_vividula", "Nylanderia_wojciki", 
"Paratrechina_longicornis", "Prenolepis_imparis", "Aphaenogaster_ashmeadi", 
"Aphaenogaster_carolinensis", "Aphaenogaster_flemingi", "Aphaenogaster_floridana", 
"Aphaenogaster_fulva", "Aphaenogaster_lamellidens", "Aphaenogaster_tennesseensis", 
"Aphaenogaster_treatae", "Cardiocondyla_emeryi", "Cardiocondyla_minutior", 
"Cardiocondyla_venustula", "Cardiocondyla_wroughtonii", "Cephalotes_varians", 
"Crematogaster_ashmeadi", "Crematogaster_pilosa", "Crematogaster_lineolata", 
"Crematogaster_minutissima", "Crematogaster_pilosa", "Cyphomyrmex_minutus", 
"Cyphomyrmex_rimosus", "Eurhopalothrix_australis", "Monomorium_pharaonis", 
"Monomorium_viridum", "Myrmecina_americana", "Myrmica_punctiventris", 
"Pheidole_adrianoi", "Pheidole_bicarinata", "Pheidole_dentata", 
"Pheidole_dentigula", "Pheidole_floridana", "Pheidole_metallescens", 
"Pheidole_moerens", "Pheidole_morrisii", "Pheidole_obscurithorax", 
"Pogonomyrmex_badius", "Solenopsis_carolinensis", "Solenopsis_geminata", 
"Solenopsis_globularia", "Solenopsis_invicta", "Solenopsis_carolinensis", 
"Stenamma_impar", "Strumigenys_apalachicolensis", "Strumigenys_bunki", 
"Strumigenys_laevinasis", "Strumigenys_creightoni", "Strumigenys_dietrichi", 
"Strumigenys_eggersi", "Strumigenys_emmae", "Strumigenys_laevinasis", 
"Strumigenys_hexamera", "Strumigenys_laevinasis", "Strumigenys_louisianae", 
"Strumigenys_margaritae", "Strumigenys_ornata", "Strumigenys_pilinasis", 
"Strumigenys_rostrata", "Strumigenys_talpa", "Temnothorax_allardycei", 
"Temnothorax_schaumii", "Temnothorax_curvispinosus", "Temnothorax_schaumii", 
"Temnothorax_pergandei", "Temnothorax_schaumii", "Temnothorax_smithi", 
"Temnothorax_schaumii", "Tetramorium_bicarinatum", "Tetramorium_simillimum", 
"Trachymyrmex_jamaicensis", "Trachymyrmex_septentrionalis", "Wasmannia_auropunctata", 
"Xenomyrmex_floridanus", "Anochetus_mayri", "Cryptopone_gilva", 
"Gnamptogenys_triangularis", "Hypoponera_inexorata", "Hypoponera_opaciceps", 
"Hypoponera_opacior", "Odontomachus_brunneus", "Odontomachus_haematodus", 
"Odontomachus_ruginodis", "Platythyrea_punctata", "Ponera_exotica", 
"Ponera_pennsylvanica", "Pseudoponera_stigma", "Discothyrea_testacea", 
"Proceratium_silaceum", "Proceratium_silaceum", "Proceratium_avium", 
"Proceratium_silaceum", "Pseudomyrmex_ejectus", "Pseudomyrmex_elongatus", 
"Pseudomyrmex_gracilis", "Pseudomyrmex_pallidus"), morphism = structure(c(1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 
2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L), .Label = c("Monomorphic", "Polymorphic"), class = "factor"), 
    QWD = c(89.3769633507853, 90.6397174254317, 46.1951447245565, 
    52.4574049803408, 54.2740124190778, 78.2582582582583, 47.2840976771888, 
    55.2295409181637, 68.069306930693, 64.7910447761194, 52.0212331563904, 
    45.4577130186886, 37.8257118205349, 46.1953624733476, 41.2616339193382, 
    32.8363636363636, 34.7697218422253, 63.4428223844282, 63.8180067404911, 
    65.5912609492768, 63.9767932489451, 69.0693104680243, 53.6587893864013, 
    76.5719080051328, 73.6060289248998, 74.0916149068323, 65.9330759330759, 
    42.5855513307985, 61.4432508173751, 44.2885117493473, 63.0040755040755, 
    60.8313349320544, 61.0005307855626, 51.5050468637347, 47.8975032851511, 
    62.1173469387755, 49.7574123989218, 63.3918595371109, 54.3542905692438, 
    50.7153806847215, 36.8190476190476, 74.4136460554371, 80.284845575292, 
    72.1092278719397, 67.093023255814, 77.3787271918113, 73.4804297774367, 
    98.2896160086533, 75.7492113564669, 73.9970282317979, 80.2811550151976, 
    84.7839506172839, 82.0532915360502, 60.0044130626655, 34.4837172359015, 
    45.1829787234043, 35.3071098022718, 42.5675675675676, 41.230056058646, 
    92.9292929292929, 98.1707317073171, 89.8717948717949, 54.0620094191523, 
    36.8384401114206, 74.7100802854594, 72.229381443299, 40.9850034083163, 
    36.5822467402207, 44.830048557555, 55.1552993916106, 47.5800711743772, 
    41.2125191507989, 51.4103607268782, 46.9602105167642, 55.0114663429111, 
    73.1812547673532, 39.7493036211699, 52.6871136658924, 58.7929515418502, 
    62.8051818634778, 33.3490844654459, 70.3626799557032, 70.9219858156028, 
    77.0714285714286, 81.8614130434783, 75.1920614596671, 89.1625615763547, 
    81.875, 82.7151051625239, 69.4980694980695, 83.6350974930362, 
    85.1034482758621, 80.3221476510067, 81.0948905109489, 88.099084544965, 
    91.857962697274, 93.1168831168831, 82.1225710014948, 66.2898769153479, 
    65.6810631229236, 59.8853615520282, 61.4467408585056, 73.192004074357, 
    72.7744464944649, 65.3846153846154, 57.6130055511499, 78.7739726027397, 
    79.1161616161616, 108.134236453202, 78.3974011911207, 35.882278159166, 
    45.6525220176141, 90.9063981042654, 74.1374837872892, 98.3400537634408, 
    94.2082239720035, 87.5212947189097, 70.5196399345336, 70.748933901919, 
    84.63841138115, 88.9179993194964, 101.053995680346, 119.539249146758, 
    92.3705722070845, 68.7407407407407, 79.4763513513514, 89.8404255319149, 
    90.9722222222222, 92.9051663128096, 96.2543757292882, 81.6374269005848, 
    76.836592178771, 77.4866310160428, 72.9514097180564), median_size = c(11.5, 
    1299, 1000, 1000, 1000, 1000, 10000, 15000, 20, 300, 70000, 
    30000, 30000, 30000, 111, 125, 200, 3560, 350, 10000, 69.5, 
    2222, 180, 500, 630, 424, 8916, 3000, 3000, 100, 200, 100, 
    82, 100, 100, 200, 143, 200, 100, 2000, 2485, 254, 29, 300, 
    116.5, 540.5, 450, 600, 300, 50, 50, 150, 50, 1000, 6630, 
    500, 178, 208, 807, 150, 125, 100, 1591, 10000, 37, 50, 325, 
    200, 873, 300, 1000, 767, 600, 2500, 10000, 4400, 200, 28000, 
    50, 150000, 10000, 54, 332, 40, 56, 42, 65, 33, 28, 121, 
    42.5, 14, 118, 225, 20, 24, 23, 25, 60, 50, 42.5, 50, 55, 
    100, 35.5, 50, 500, 300, 150, 300, 819.5, 50, 12, 100, 100, 
    31, 45, 50, 72, 500, 200, 60, 50, 7, 9, 15, 30, 30, 26.5, 
    28, 80, 80, 80, 30)), row.names = c(NA, -134L), class = c("tbl_df", 
"tbl", "data.frame"))

tree<-structure(list(edge = structure(c(120L, 121L, 122L, 122L, 123L, 
123L, 124L, 124L, 121L, 125L, 125L, 126L, 127L, 127L, 128L, 128L, 
126L, 129L, 130L, 131L, 131L, 130L, 132L, 132L, 129L, 133L, 133L, 
134L, 134L, 135L, 135L, 120L, 136L, 137L, 137L, 138L, 138L, 136L, 
139L, 140L, 141L, 141L, 142L, 142L, 143L, 143L, 140L, 144L, 145L, 
146L, 146L, 145L, 144L, 147L, 147L, 148L, 148L, 139L, 149L, 150L, 
150L, 151L, 152L, 152L, 153L, 153L, 151L, 154L, 155L, 156L, 156L, 
155L, 157L, 157L, 158L, 158L, 159L, 159L, 160L, 161L, 161L, 160L, 
154L, 162L, 163L, 163L, 162L, 164L, 164L, 165L, 165L, 166L, 167L, 
167L, 168L, 168L, 166L, 169L, 169L, 170L, 170L, 171L, 172L, 172L, 
171L, 173L, 173L, 174L, 174L, 149L, 175L, 175L, 176L, 176L, 177L, 
178L, 179L, 179L, 180L, 181L, 181L, 182L, 182L, 180L, 183L, 184L, 
184L, 185L, 185L, 183L, 186L, 186L, 187L, 187L, 178L, 188L, 189L, 
190L, 190L, 189L, 191L, 191L, 188L, 192L, 192L, 193L, 193L, 194L, 
195L, 195L, 196L, 196L, 194L, 197L, 197L, 198L, 198L, 199L, 199L, 
200L, 201L, 201L, 200L, 202L, 202L, 203L, 203L, 204L, 205L, 205L, 
204L, 206L, 206L, 177L, 207L, 208L, 209L, 209L, 208L, 210L, 210L, 
211L, 211L, 212L, 212L, 207L, 213L, 214L, 214L, 215L, 215L, 216L, 
216L, 217L, 218L, 218L, 217L, 219L, 220L, 220L, 219L, 221L, 221L, 
213L, 222L, 222L, 223L, 224L, 225L, 225L, 224L, 226L, 226L, 227L, 
228L, 228L, 229L, 229L, 227L, 223L, 230L, 231L, 232L, 232L, 231L, 
233L, 233L, 230L, 234L, 234L, 235L, 235L, 236L, 237L, 237L, 236L, 
121L, 122L, 1L, 123L, 2L, 124L, 3L, 4L, 125L, 5L, 126L, 127L, 
6L, 128L, 7L, 8L, 129L, 130L, 131L, 9L, 10L, 132L, 11L, 12L, 
133L, 13L, 134L, 14L, 135L, 15L, 16L, 136L, 137L, 17L, 138L, 
18L, 19L, 139L, 140L, 141L, 20L, 142L, 21L, 143L, 22L, 23L, 144L, 
145L, 146L, 24L, 25L, 26L, 147L, 27L, 148L, 28L, 29L, 149L, 150L, 
30L, 151L, 152L, 31L, 153L, 32L, 33L, 154L, 155L, 156L, 34L, 
35L, 157L, 36L, 158L, 37L, 159L, 38L, 160L, 161L, 39L, 40L, 41L, 
162L, 163L, 42L, 43L, 164L, 44L, 165L, 45L, 166L, 167L, 46L, 
168L, 47L, 48L, 169L, 49L, 170L, 50L, 171L, 172L, 51L, 52L, 173L, 
53L, 174L, 54L, 55L, 175L, 56L, 176L, 57L, 177L, 178L, 179L, 
58L, 180L, 181L, 59L, 182L, 60L, 61L, 183L, 184L, 62L, 185L, 
63L, 64L, 186L, 65L, 187L, 66L, 67L, 188L, 189L, 190L, 68L, 69L, 
191L, 70L, 71L, 192L, 72L, 193L, 73L, 194L, 195L, 74L, 196L, 
75L, 76L, 197L, 77L, 198L, 78L, 199L, 79L, 200L, 201L, 80L, 81L, 
202L, 82L, 203L, 83L, 204L, 205L, 84L, 85L, 206L, 86L, 87L, 207L, 
208L, 209L, 88L, 89L, 210L, 90L, 211L, 91L, 212L, 92L, 93L, 213L, 
214L, 94L, 215L, 95L, 216L, 96L, 217L, 218L, 97L, 98L, 219L, 
220L, 99L, 100L, 221L, 101L, 102L, 222L, 103L, 223L, 224L, 225L, 
104L, 105L, 226L, 106L, 227L, 228L, 107L, 229L, 108L, 109L, 110L, 
230L, 231L, 232L, 111L, 112L, 233L, 113L, 114L, 234L, 115L, 235L, 
116L, 236L, 237L, 117L, 118L, 119L), .Dim = c(236L, 2L)), edge.length = c(3.81, 
2.97, 118.59, 19.539221, 99.050779, 18.583338, 80.467441, 80.467441, 
11.56, 110, 20.04, 58.743903, 31.216097, 12.026097, 19.19, 19.19, 
4.788902, 22.371098, 5.660507, 57.139493, 57.139493, 37.35, 25.45, 
25.45, 56.121098, 29.05, 23.6, 5.45, 2.304021, 3.145979, 3.145979, 
5.31, 101.643272, 18.416728, 6.266728, 12.15, 12.15, 1.24, 2.28, 
87.63, 28.91, 12.36, 16.55, 14.05, 2.5, 2.5, 45.69, 1.750237, 
30.822716, 38.277047, 38.277047, 69.099763, 3.131599, 67.718401, 
18.838401, 48.88, 48.88, 1.81, 4.652188, 112.357812, 17.767812, 
30.528498, 64.061502, 36.43867, 27.622832, 27.622832, 7.46, 4.75, 
48.806214, 33.573786, 33.573786, 25.19, 57.19, 17.397884, 39.792116, 
11.932116, 27.86, 7.96, 14.89, 5.01, 5.01, 19.899999, 6.52, 45.632061, 
34.977939, 34.977939, 23.23, 57.38, 4.16, 53.22, 18.51, 22.63, 
12.08, 4.82, 7.26, 7.26, 10.86, 23.85, 7.09, 16.76, 6.76, 9.84, 
0.16, 0.16, 5.68, 4.32, 4, 0.32, 0.32, 12.2, 104.81, 2.646527, 
102.163473, 6.163473, 6.95, 0.950993, 88.099007, 17.519007, 12.675456, 
57.904544, 19.624544, 38.28, 38.28, 4.120049, 18.484709, 47.975243, 
12.826199, 35.149044, 35.149044, 1.861616, 64.598335, 8.553889, 
56.044447, 56.044446, 3.313422, 39.156578, 32.85, 13.73, 13.73, 
10.84, 35.74, 35.74, 1.318884, 84.417693, 2.547693, 81.87, 53.39005891, 
5.694253661, 22.78568842, 1.962492601, 20.823195814, 20.8231958147, 
11.290196096, 17.18974598, 1.1454563013, 16.04428968, 11.64118863, 
4.40310105, 0.9841532783, 0.700513289, 2.718434483, 2.718434482, 
0.7226283789, 2.696319393, 0.5263120977, 2.17000729534, 0.325270968, 
0.2357046197, 1.609031707, 1.6090317073, 0.1071859464, 1.737550381, 
1.7375503803, 0.761593, 21.938407, 46.69, 26.61, 26.61, 42.47, 
30.83, 13.06, 17.77, 13.257557, 4.512443, 4.512443, 1.833501, 
22.964907, 70.44, 39.94, 30.5, 4.332591, 26.167409, 10.167409, 
2.789446, 13.210554, 13.210554, 6.05, 3.88, 6.07, 6.07, 1.73, 
8.22, 8.22, 4.614907, 88.79, 3.441763, 11.502334, 45.955903, 
27.89, 27.89, 37.246631, 36.599272, 1.996762, 1.908638, 32.693871, 
24.189275, 8.504596, 8.504596, 34.60251, 4.298025, 0.030672, 
77.92954, 3.09, 3.09, 22.08977, 58.92977, 58.92977, 2.730656, 
78.319555, 62.949555, 15.37, 3.996495, 11.362435, 0.01107, 0.01107, 
11.373505), Nnode = 118L, tip.label = c("Stigmatomma_pallipes", 
"Discothyrea_testacea", "Proceratium_silaceum", "Proceratium_avium", 
"Platythyrea_punctata", "Hypoponera_opaciceps", "Hypoponera_inexorata", 
"Hypoponera_opacior", "Cryptopone_gilva", "Pseudoponera_stigma", 
"Ponera_exotica", "Ponera_pennsylvanica", "Anochetus_mayri", 
"Odontomachus_ruginodis", "Odontomachus_brunneus", "Odontomachus_haematodus", 
"Neivamyrmex_texanus", "Neivamyrmex_opacithorax", "Neivamyrmex_nigrescens", 
"Pseudomyrmex_gracilis", "Pseudomyrmex_elongatus", "Pseudomyrmex_ejectus", 
"Pseudomyrmex_pallidus", "Linepithema_humile", "Tapinoma_sessile", 
"Tapinoma_melanocephalum", "Dolichoderus_pustulatus", "Forelius_pruinosus", 
"Dorymyrmex_elegans", "Gnamptogenys_triangularis", "Brachymyrmex_obscurior", 
"Brachymyrmex_depilis", "Brachymyrmex_minutus", "Formica_incerta", 
"Formica_subsericea", "Colobopsis_saundersi", "Camponotus_floridanus", 
"Camponotus_nearcticus", "Camponotus_castaneus", "Camponotus_americanus", 
"Camponotus_pennsylvanicus", "Lasius_alienus", "Lasius_umbratus", 
"Prenolepis_imparis", "Paratrechina_longicornis", "Nylanderia_bourbonica", 
"Nylanderia_steinheili", "Nylanderia_pubens", "Nylanderia_parvula", 
"Nylanderia_vividula", "Nylanderia_arenivaga", "Nylanderia_phantasma", 
"Nylanderia_wojciki", "Nylanderia_concinna", "Nylanderia_faisonensis", 
"Pogonomyrmex_badius", "Myrmica_punctiventris", "Wasmannia_auropunctata", 
"Pheidole_obscurithorax", "Pheidole_dentata", "Pheidole_morrisii", 
"Pheidole_metallescens", "Pheidole_bicarinata", "Pheidole_adrianoi", 
"Pheidole_moerens", "Pheidole_dentigula", "Pheidole_floridana", 
"Cyphomyrmex_rimosus", "Cyphomyrmex_minutus", "Trachymyrmex_jamaicensis", 
"Trachymyrmex_septentrionalis", "Cephalotes_varians", "Eurhopalothrix_australis", 
"Strumigenys_margaritae", "Strumigenys_eggersi", "Strumigenys_louisianae", 
"Strumigenys_emmae", "Strumigenys_hexamera", "Strumigenys_rostrata", 
"Strumigenys_laevinasis", "Strumigenys_pilinasis", "Strumigenys_bunki", 
"Strumigenys_ornata", "Strumigenys_creightoni", "Strumigenys_talpa", 
"Strumigenys_apalachicolensis", "Strumigenys_dietrichi", "Monomorium_pharaonis", 
"Monomorium_viridum", "Solenopsis_carolinensis", "Solenopsis_globularia", 
"Solenopsis_geminata", "Solenopsis_invicta", "Stenamma_impar", 
"Aphaenogaster_fulva", "Aphaenogaster_tennesseensis", "Aphaenogaster_floridana", 
"Aphaenogaster_flemingi", "Aphaenogaster_ashmeadi", "Aphaenogaster_treatae", 
"Aphaenogaster_lamellidens", "Aphaenogaster_carolinensis", "Xenomyrmex_floridanus", 
"Tetramorium_bicarinatum", "Tetramorium_simillimum", "Temnothorax_pergandei", 
"Temnothorax_allardycei", "Temnothorax_smithi", "Temnothorax_schaumii", 
"Temnothorax_curvispinosus", "Crematogaster_lineolata", "Crematogaster_pilosa", 
"Crematogaster_minutissima", "Crematogaster_ashmeadi", "Myrmecina_americana", 
"Cardiocondyla_minutior", "Cardiocondyla_wroughtonii", "Cardiocondyla_emeryi", 
"Cardiocondyla_venustula")), class = "phylo", order = "cladewise")

When I try and rename the data's rownames as species names from the tree:

data$morphism<-as.factor(data$morphism)
row.names(data)<-data$Genus.Species

I get an error. When I change things to a matrix:

data1<-as.matrix(data)
row.names(data1)<-data$Genus.Species
pgls_morph <- caper::comparative.data(phy = tree, data = data.frame(data1),
                               names.col = Genus.Species, vcv = TRUE,
                               na.omit = FALSE, warn.dropped = TRUE)

I can rename the rownames with duplicates but caper does not allow it to work. The error message I get is:

Error in `.rowNamesDF<-`(x, value = value) : 
  duplicate 'row.names' are not allowed
In addition: Warning message:
non-unique values when setting 'row.names': ‘Crematogaster_pilosa’, ‘Dorymyrmex_elegans’, ‘Formica_incerta’, ‘Neivamyrmex_texanus’, ‘Proceratium_silaceum’, ‘Solenopsis_carolinensis’, ‘Strumigenys_laevinasis’, ‘Temnothorax_schaumii’
0 Answers
Related