index.Rmd
“I just wasted five hours running an analysis on the wrong input file.”
“I can’t remember where I saved my output.”
“I accidentally overwrote my raw data.”
Many of us have probably said one or more of the above sentences. When you’re balancing multiple projects and lots of data, it can be easy to lose track of files. One of the biggest challenges to any project is placing project files in a structure that is easy for you, the scientist, to access and maintain.
This chapter will cover the basics of project organization and data organization and management. At the end of this chapter, you should be familiar with:
This book will discuss not solely the Dendropy computing library, but efficient R computation for phylogenetic analyses. In this section, we are going to address a very specific aim: setting up projects on your computer in a way that will allow you to manage your projects efficiently. We will use hands-on examples throughout this section.
When managing a project, you want to keep files together as much as possible. Doing this makes it easier to document your project, and avoid losing data files.
Create an R Project together
Make two subdirectories: code and data
These four subdirectories will all serve important purposes. Our scripts directory will house the R code we will write. We will talk in further chapters about why it is important and useful to keep all of the scripts for a single project together. For now, just know that it is.
Our data directory will house our raw data. We want our raw data to be housed on its own. If we make a mistake in how we save output files, we can always go back to our raw data and run the analysis again … so long as we have maintained the integrity of our raw data. Once we have populated our data directory with the necessary data, we do not write to it. A simple motto for this philosophy is that data are read-only.
We do, however, write to our output directory. We will talk in future chapters about using R to make readable and informative output file names. For now, just know that the results of any analysis go in the output directory.
Documentation is where we can put miscellaneous, informative files. For example, papers that you are reading for your project, cost sheets for sequencing, talk slides.
This is the basic setup all chapters of this book will rely on. This manner of file organization is very transparent: anyone looking at your file directory can understand what components of your research project are stored where. If you follow this structure, when you go to publish your paper, you can simply archive your entire project directory to meet most funders’ and journal’s guidelines for providing data and software code. And who couldn’t use a little less on their plate when it comes time to submit a paper?
So far, we have introduced two important concepts: keep files together as much as possible and data are read-only. The first principle means to keep data, output and code related to one project in one place on your computer to increase your organization. The second principle means to treat raw data as untouchable. Any outputs of analyses should be kept separate to avoid loss of data, and to ensure you can rerun any steps as needed.
In learning these two concepts, we have used hands-on commands: mkdir to create directories, ls to look at their contents and cd to navigate. We also learned to check our navigation with the pwd command and to use tab-complete to increase the efficiency of our typing.
“I know I made a plot of this … I just can’t remember how.”
“This looks totally different on my computer.”
“My coworker doesn’t have Excel.”
Almost everyone used a spreadsheet program to manage data at some point in our career. These graphical programs offer a clean interface to view and manage the data we work so hard to collect. But these types of programs can also introduce problems in biological workflows.
There are three main issues with using Excel and other similar programs to carry out computations:
In this chapter, we will discuss moving data management and analysis past the traditional spreadsheet paradigm. Along the way, we will learn about how to store data in a way that is both human- and machine-readable. Using a test dataset on ant (Formicidae) taxonomy, we will import datasets using R and begin to explore them programmatically. At the end of this chapter, you will be familiar with:
When you save a file in Excel, you don’t simply save the data. You save, encoded in binary, information about cell positioning, coloring, and other document attributes. In the previous section, we mentioned that the behavior of a file loaded into a spreadsheet viewing program can vary between versions of the software. This is not because the data are changing. This is because there are often subtle changes to how the data are displayed or how statistics are calculated. These subtle changes can cause dramatically different renderings of files across versions and platforms.
All of this extraneous information also makes the file harder to read at the command line, or in R. For example, in the data directory, you will find two data files: Ants.csv and Ants.xlsx. Try looking at each in a plain text editor.
Which of these files are you able to visualize?
The Ants.csv file is stored in what is called a flat file. Flat files are plain text - they don’t contain any characters that can’t be typed with a keyboard, or viewed at the command line. Any fancy formatting in a plain text file comes from the viewer. For example, this book is written in plain text. The nice formatting you see is the result of rendering software. If you were to view this file at the command line, you would still be able to access all of the data within it. Because flat files can be read by both human and machine, they are often considered preferable to files with extensive encoding of extra information.
For the purposes of this lesson, we will show you how to get data out of spreadsheet files (such as Excel files), but we will predominantly be describing how you can avoid using these file types.
Inside each flat file, data should be organized with each row being an observation, and each column being the variables observed. If you open the Ants.csv file, you will note that each row corresponds to one fossil ant. Each column is labeled as a variable observed about the ant - taxonomy, age of the fossil and notes. Most programmatic ways of handling data assume this structure.
You will also notice that all the column names have underscores, rather than spaces. Most programming languages will assume that a space indicates the end of a name, so it’s best to avoid spaces. Lastly, notice that the data directory also contains a README. This README tells the user what data files they should expect to find when they download your data.
There are many ways to process data at the command line. These range from simple methods available in UNIX to elaborate and complex libraries in R. In this section, we’ll get to know Pandas a little better. We will use R as a gateway to getting familiar with R. Once we have learned how to carry out some common spreadsheet operations, we will discuss R programming more generally in the next chapter. This is by no means an exhaustive look at the Pandas library. It is simply a teaser to show some useful ways that you might interact with data in R.
Pandas was written by Wes McKinney to facilitate efficient data processing, manipulation and plotting in R. The fundamental data type of R is a dataframe, an object containing rows and columns of data. For our Ants.csv data, the rows will be the fossil ants. The columns will be the observations (fossil minimum ages, maximum ages, and taxonomy). It’s instructive to look at an example.
?read.csv
In the command read.csv, we called the function
read.csv` out of R’s base. We haven’t provided it with any data to read, therefore, R simply told us that the function is available via Pandas to parse text.
Now we will use this function to load some data into R, via the Pandas library:
ant_data <- read.csv('data/Ants.csv')
ant_data
## specimen reference_no subfamily
## 1 Agroecomyrmex_duisburgi 44414 Agroecomyrmecinae
## 2 Eulithomyrmex_rugosus 4971 Agroecomyrmecinae
## 3 Eulithomyrmex_striatus 4971 Agroecomyrmecinae
## 4 Amblyoponinae 59088 Amblyoponinae
## 5 Amblyoponini 53165 Amblyoponinae
## 6 Casaleia_eocenica 43781 Amblyoponinae
## 7 Casaleia_inversa 41286 Amblyoponinae
## 8 Casaleia_longiventris 37344 Amblyoponinae
## 9 Casaleia_orientalis 56094 Amblyoponinae
## 10 Myopopone_sinensis 16579 Amblyoponinae
## 11 Stigmatomma_electrina 44602 Amblyoponinae
## 12 Stigmatomma_groehni 44602 Amblyoponinae
## 13 Aneuretellus_deformis 44404 Aneuretinae
## 14 Britaneuretus_anglicus 37729 Aneuretinae
## 15 Burmomyrma_rossi 39313 Aneuretinae
## 16 Cananeuretus_occidentalis 36535 Aneuretinae
## 17 Mianeuretus 44418 Aneuretinae
## 18 Mianeuretus_eocenicus 44418 Aneuretinae
## 19 Mianeuretus_mirabilis 4971 Aneuretinae
## 20 Paraneuretus_dubovikoffi 56094 Aneuretinae
## 21 Paraneuretus_longicornis 40999 Aneuretinae
## 22 Paraneuretus_tornquisti 40999 Aneuretinae
## 23 Pityomyrmex_tornquisti 40999 Aneuretinae
## 24 Protaneuretus_succineus 40999 Aneuretinae
## 25 Archaeopone_kzylzharica 37059 Armaniinae
## 26 Archaeopone_taylori 35238 Armaniinae
## 27 Armania 39728 Armaniinae
## 28 Armania_capitata 39728 Armaniinae
## 29 Armania_curiosa 35238 Armaniinae
## 30 Armania_pristina 39728 Armaniinae
## 31 Armania_robusta 35238 Armaniinae
## 32 Dolichomyrma_latipes 37059 Armaniinae
## 33 Dolichomyrma_longiceps 37059 Armaniinae
## 34 Khetania_mandibulata 39728 Armaniinae
## 35 Orapia_minor 38353 Armaniinae
## 36 Orapia_rayneri 38353 Armaniinae
## 37 Poneropterus_sphecoides 35238 Armaniinae
## 38 Pseudarmania_aberrans 35238 Armaniinae
## 39 Pseudarmania_rasnitsyni 35238 Armaniinae
## 40 Brownimecia_clavata 5815 Brownimeciinae
## 41 Alloiomma_changweiensis 16579 Dolichoderinae
## 42 Alloiomma_differentialis 36942 Dolichoderinae
## 43 Asymphylomyrmex_balticus 40999 Dolichoderinae
## 44 Azteca 49381 Dolichoderinae
## 45 Azteca_alpha 5207 Dolichoderinae
## 46 Azteca_eumeces 5207 Dolichoderinae
## 47 Chronomyrmex_medicinehatensis 47972 Dolichoderinae
## 48 Ctenobethylus_goepperti 38999 Dolichoderinae
## 49 Dolichoderinae 34859 Dolichoderinae
## 50 Dolichoderus 8673 Dolichoderinae
## 51 Dolichoderus_(Hypoclinea)_passalomma 44557 Dolichoderinae
## 52 Dolichoderus_affectus 38999 Dolichoderinae
## 53 Dolichoderus_antiquus 4971 Dolichoderinae
## 54 Dolichoderus_balticus 38999 Dolichoderinae
## 55 Dolichoderus_brevicornis 44557 Dolichoderinae
## 56 Dolichoderus_brevipalpis 44558 Dolichoderinae
## 57 Dolichoderus_brevipennis 44558 Dolichoderinae
## 58 Dolichoderus_bruneti 38999 Dolichoderinae
## 59 Dolichoderus_caribbaeus 5207 Dolichoderinae
## 60 Dolichoderus_coquandi 38999 Dolichoderinae
## 61 Dolichoderus_cornutus 44414 Dolichoderinae
## 62 Dolichoderus_dibolius 5207 Dolichoderinae
## 63 Dolichoderus_dlusskyi 55770 Dolichoderinae
## 64 Dolichoderus_elegans 40999 Dolichoderinae
## 65 Dolichoderus_evolans 16579 Dolichoderinae
## 66 Dolichoderus_explicans 38738 Dolichoderinae
## 67 Dolichoderus_granulinotus 44558 Dolichoderinae
## 68 Dolichoderus_heeri 51760 Dolichoderinae
## 69 Dolichoderus_jiaoyanshanensis 16579 Dolichoderinae
## 70 Dolichoderus_kohlsi 44418 Dolichoderinae
## 71 Dolichoderus_kutscheri 44558 Dolichoderinae
## 72 Dolichoderus_kutschlinicus 44564 Dolichoderinae
## 73 Dolichoderus_lacinius 16579 Dolichoderinae
## 74 Dolichoderus_longipennis 44414 Dolichoderinae
## 75 Dolichoderus_longipilosus 44557 Dolichoderinae
## 76 Dolichoderus_lucidus 44558 Dolichoderinae
## 77 Dolichoderus_luridivenosus 36942 Dolichoderinae
## 78 Dolichoderus_mesosternalis 40999 Dolichoderinae
## 79 Dolichoderus_nanus 44557 Dolichoderinae
## 80 Dolichoderus_obliteratus 39765 Dolichoderinae
## 81 Dolichoderus_oviformis 38999 Dolichoderinae
## 82 Dolichoderus_passalomma 40999 Dolichoderinae
## 83 Dolichoderus_perkovskyi 44558 Dolichoderinae
## 84 Dolichoderus_pilipes 44558 Dolichoderinae
## 85 Dolichoderus_pinguis 56094 Dolichoderinae
## 86 Dolichoderus_polessus 44557 Dolichoderinae
## 87 Dolichoderus_polonicus 44557 Dolichoderinae
## 88 Dolichoderus_primitivus 5207 Dolichoderinae
## 89 Dolichoderus_prolaminatus 5207 Dolichoderinae
## 90 Dolichoderus_punctatus 44558 Dolichoderinae
## 91 Dolichoderus_robustus 44557 Dolichoderinae
## 92 Dolichoderus_rohweri 4971 Dolichoderinae
## 93 Dolichoderus_sculpturatus 44414 Dolichoderinae
## 94 Dolichoderus_tauricus 41286 Dolichoderinae
## 95 Dolichoderus_tertiarius 44414 Dolichoderinae
## 96 Dolichoderus_transversipetiolaris 36942 Dolichoderinae
## 97 Dolichoderus_vectensis 5061 Dolichoderinae
## 98 Dolichoderus_vexillarius 40999 Dolichoderinae
## 99 Dolichoderus_vlaskini 44558 Dolichoderinae
## 100 Dolichoderus_zherichini 44578 Dolichoderinae
## 101 Elaeomyrmex_coloradensis 4971 Dolichoderinae
## 102 Elaeomyrmex_gracilis 4971 Dolichoderinae
## 103 Elaphrodites_mutatus 16579 Dolichoderinae
## 104 Elaphrodites_scutulatus 16579 Dolichoderinae
## 105 Eldermyrmex_oblongiceps 40999 Dolichoderinae
## 106 Electromyrmex_klebsi 40999 Dolichoderinae
## 107 Emplastus_antiquus 37730 Dolichoderinae
## 108 Emplastus_biamoensis 56094 Dolichoderinae
## 109 Emplastus_britannicus 37729 Dolichoderinae
## 110 Emplastus_dubius 51760 Dolichoderinae
## 111 Emplastus_elongatus 56094 Dolichoderinae
## 112 Emplastus_gurnetensis 5061 Dolichoderinae
## 113 Emplastus_haueri 37730 Dolichoderinae
## 114 Emplastus_hypolithus 37729 Dolichoderinae
## 115 Emplastus_kozlovi 51861 Dolichoderinae
## 116 Emplastus_macrops 56094 Dolichoderinae
## 117 Emplastus_miocenicus 51760 Dolichoderinae
## 118 Emplastus_ocellus 37344 Dolichoderinae
## 119 Eotapinoma_compacta 44404 Dolichoderinae
## 120 Eotapinoma_gracilis 44404 Dolichoderinae
## 121 Eotapinoma_macalpini 38952 Dolichoderinae
## 122 Eurymyrmex_geologicus 36942 Dolichoderinae
## 123 Forelius 49381 Dolichoderinae
## 124 Gracilidris_humiloides 5207 Dolichoderinae
## 125 Iridomyrmex 38990 Dolichoderinae
## 126 Iridomyrmex_shandongicus 16579 Dolichoderinae
## 127 Kotshkorkia_laticeps 41286 Dolichoderinae
## 128 Ktunaxia_jucunda 55770 Dolichoderinae
## 129 Leptomyrmex_neotropicus 5207 Dolichoderinae
## 130 Leptomyrmula_maravignae 44518 Dolichoderinae
## 131 Linepithema 55004 Dolichoderinae
## 132 Liometopum 38709 Dolichoderinae
## 133 Liometopum_bogdassarovi 56276 Dolichoderinae
## 134 Liometopum_eremicum 16579 Dolichoderinae
## 135 Liometopum_imhoffii 37344 Dolichoderinae
## 136 Liometopum_incognitum 56094 Dolichoderinae
## 137 Liometopum_lubricum 36942 Dolichoderinae
## 138 Liometopum_miocenicum 4971 Dolichoderinae
## 139 Liometopum_oligocenicum 40999 Dolichoderinae
## 140 Liometopum_potamophilum 16579 Dolichoderinae
## 141 Liometopum_scudderi 4971 Dolichoderinae
## 142 Miomyrmex_impactus 4971 Dolichoderinae
## 143 Miomyrmex_striatus 4971 Dolichoderinae
## 144 Petraeomyrmex_minimus 4971 Dolichoderinae
## 145 Proiridomyrmex_rotundatus 55770 Dolichoderinae
## 146 Proiridomyrmex_vetulus 44418 Dolichoderinae
## 147 Protazteca_capitata 4971 Dolichoderinae
## 148 Protazteca_elongata 4971 Dolichoderinae
## 149 Protazteca_eocenica 55770 Dolichoderinae
## 150 Protazteca_hendersoni 5014 Dolichoderinae
## 151 Protazteca_quadrata 4971 Dolichoderinae
## 152 Tapinoma 39584 Dolichoderinae
## 153 Tapinoma_aberrans 44578 Dolichoderinae
## 154 Tapinoma_baculum 16579 Dolichoderinae
## 155 Tapinoma_electrinum 44578 Dolichoderinae
## 156 Tapinoma_minutissimum 44518 Dolichoderinae
## 157 Tapinoma_troche 5207 Dolichoderinae
## 158 Technomyrmex_caritatis 44634 Dolichoderinae
## 159 Technomyrmex_deletus 44518 Dolichoderinae
## 160 Technomyrmex_hispaniolae 5207 Dolichoderinae
## 161 Technomyrmex_septentrionalis 16579 Dolichoderinae
## 162 Usomyrma_mirabilis 53816 Dolichoderinae
## 163 Yantaromyrmex_constrictus 44414 Dolichoderinae
## 164 Yantaromyrmex_geinitzi 38999 Dolichoderinae
## 165 Yantaromyrmex_intermedius 50040 Dolichoderinae
## 166 Yantaromyrmex_mayrianum 50040 Dolichoderinae
## 167 Yantaromyrmex_samlandicus 40999 Dolichoderinae
## 168 Zherichinius_horribilis 44404 Dolichoderinae
## 169 Zherichinius_rapax 44404 Dolichoderinae
## 170 Acanthostichus_hispaniolicus 44410 Dorylinae
## 171 Cylindromyrmex_antillanus 44524 Dorylinae
## 172 Cylindromyrmex_electrinus 44524 Dorylinae
## 173 Cylindromyrmex_inopinatus 44525 Dorylinae
## 174 Dorylinae 50423 Dorylinae
## 175 Lioponera 38999 Dorylinae
## 176 Neivamyrmex 52386 Dorylinae
## 177 Neivamyrmex_ectopus 5206 Dorylinae
## 178 Procerapachys_annosus 40999 Dorylinae
## 179 Procerapachys_favosus 40999 Dorylinae
## 180 Procerapachys_sulcatus 44602 Dorylinae
## 181 Canapone_dentata 38952 Ectatomminae
## 182 Ectatomma_gracile 44518 Ectatomminae
## 183 Gnamptogenys_brunoi 44600 Ectatomminae
## 184 Gnamptogenys_casca 44600 Ectatomminae
## 185 Gnamptogenys_europaea 44414 Ectatomminae
## 186 Gnamptogenys_levinates 44601 Ectatomminae
## 187 Gnamptogenys_pristina 44601 Ectatomminae
## 188 Gnamptogenys_rohdendorfi 44602 Ectatomminae
## 189 Pseudectatomma_eocenica 43781 Ectatomminae
## 190 Pseudectatomma_striatula 43781 Ectatomminae
## 191 Rhytidoponera_gibsoni 59088 Ectatomminae
## 192 Rhytidoponera_kirghizorum 41286 Ectatomminae
## 193 Rhytidoponera_waipiata 59088 Ectatomminae
## 194 Titanomyrma_gigantea 44589 Formiciinae
## 195 Titanomyrma_lubei 35980 Formiciinae
## 196 Titanomyrma_simillima 44589 Formiciinae
## 197 Acropyga 40600 Formicinae
## 198 Acropyga_glaesaria 40302 Formicinae
## 199 Camponotini 51248 Formicinae
## 200 Camponotites 41286 Formicinae
## 201 Camponotites_kraussei 40968 Formicinae
## 202 Camponotites_macropterus 41286 Formicinae
## 203 Camponotites_silvestris 51248 Formicinae
## 204 Camponotites_steinbachi 36140 Formicinae
## 205 Camponotites_xiejiaheensis 16579 Formicinae
## 206 Camponotus 35523 Formicinae
## 207 Camponotus_ambon 16579 Formicinae
## 208 Camponotus_ampullosus 16579 Formicinae
## 209 Camponotus_cockerelli 5061 Formicinae
## 210 Camponotus_compactus 38738 Formicinae
## 211 Camponotus_crozei 51140 Formicinae
## 212 Camponotus_curviansatus 16579 Formicinae
## 213 Camponotus_festinatus 44458 Formicinae
## 214 Camponotus_festinus 16579 Formicinae
## 215 Camponotus_fuscipennis 4971 Formicinae
## 216 Camponotus_gracilis 16579 Formicinae
## 217 Camponotus_heracleus 37344 Formicinae
## 218 Camponotus_herculeanus 52251 Formicinae
## 219 Camponotus_induratus 37344 Formicinae
## 220 Camponotus_lignitus 37344 Formicinae
## 221 Camponotus_longiventris 38999 Formicinae
## 222 Camponotus_longus 16579 Formicinae
## 223 Camponotus_luteus 16579 Formicinae
## 224 Camponotus_mengei 38999 Formicinae
## 225 Camponotus_microcephalus 4971 Formicinae
## 226 Camponotus_microthoracus 16579 Formicinae
## 227 Camponotus_mitis 16579 Formicinae
## 228 Camponotus_novotnyi 44459 Formicinae
## 229 Camponotus_obesus 44462 Formicinae
## 230 Camponotus_oeningensis 37344 Formicinae
## 231 Camponotus_palaeopterus 16579 Formicinae
## 232 Camponotus_penninervis 38999 Formicinae
## 233 Camponotus_petrifactus 4971 Formicinae
## 234 Camponotus_pictus 36942 Formicinae
## 235 Camponotus_pinguiculus 37344 Formicinae
## 236 Camponotus_plenus 16579 Formicinae
## 237 Camponotus_shanwangensis 16579 Formicinae
## 238 Camponotus_theobaldi 38999 Formicinae
## 239 Camponotus_tokunagai 52927 Formicinae
## 240 Camponotus_ullrichi 44435 Formicinae
## 241 Camponotus_vehemens 38738 Formicinae
## 242 Camponotus_vetus 5133 Formicinae
## 243 Cataglyphoides_constrictus 44414 Formicinae
## 244 Cataglyphoides_intermedius 44522 Formicinae
## 245 Chimaeromyrma_brachycephala 44404 Formicinae
## 246 Conoformica_bitterfeldiana 44522 Formicinae
## 247 Curtipalpulus_eocenicus 40725 Formicinae
## 248 Drymomyrmex_claripennis 40999 Formicinae
## 249 Drymomyrmex_fuscipennis 38999 Formicinae
## 250 Eoleptocerites_chinensis 40725 Formicinae
## 251 Eoleptocerites_fushunensis 40725 Formicinae
## 252 Eurytarsites_fushunensis 40725 Formicinae
## 253 Formica 38999 Formicinae
## 254 Formica_alsatica 38999 Formicinae
## 255 Formica_annosa 55770 Formicinae
## 256 Formica_arcana 39765 Formicinae
## 257 Formica_auxillacensis 44462 Formicinae
## 258 Formica_bauckhorni 44433 Formicinae
## 259 Formica_biamoensis 56094 Formicinae
## 260 Formica_buphthalma 44517 Formicinae
## 261 Formica_cantalica 44462 Formicinae
## 262 Formica_ceps 16579 Formicinae
## 263 Formica_cockerelli 4971 Formicinae
## 264 Formica_demersa 37344 Formicinae
## 265 Formica_eoptera 42241 Formicinae
## 266 Formica_flavifemoralis 36942 Formicinae
## 267 Formica_flori 38999 Formicinae
## 268 Formica_fusca 16579 Formicinae
## 269 Formica_gibbosa 44584 Formicinae
## 270 Formica_globiventris 37344 Formicinae
## 271 Formica_grandis 4971 Formicinae
## 272 Formica_gravida 37344 Formicinae
## 273 Formica_gustawi 44522 Formicinae
## 274 Formica_heteroptera 41450 Formicinae
## 275 Formica_horrida 40999 Formicinae
## 276 Formica_immersa 37344 Formicinae
## 277 Formica_kutscheri 44522 Formicinae
## 278 Formica_latinodosa 38999 Formicinae
## 279 Formica_lavateri 37344 Formicinae
## 280 Formica_linquensis 16579 Formicinae
## 281 Formica_longicollis 37344 Formicinae
## 282 Formica_lucida 47505 Formicinae
## 283 Formica_luteola 44584 Formicinae
## 284 Formica_macrocephala 37344 Formicinae
## 285 Formica_macrognatha 44584 Formicinae
## 286 Formica_macrophthalma 37344 Formicinae
## 287 Formica_maculipennis 44462 Formicinae
## 288 Formica_martynovi 44457 Formicinae
## 289 Formica_neorufibarbis 55325 Formicinae
## 290 Formica_nigra 44584 Formicinae
## 291 Formica_obscura 37344 Formicinae
## 292 Formica_orbata 37344 Formicinae
## 293 Formica_ovala 16579 Formicinae
## 294 Formica_palaeopolonica 44522 Formicinae
## 295 Formica_paleosibirica 56094 Formicinae
## 296 Formica_parexsecta 51760 Formicinae
## 297 Formica_parvula 44584 Formicinae
## 298 Formica_phaethusa 40999 Formicinae
## 299 Formica_pitoni 44462 Formicinae
## 300 Formica_primitiva 37344 Formicinae
## 301 Formica_primordialis 37344 Formicinae
## 302 Formica_procera 37344 Formicinae
## 303 Formica_pulchella 37344 Formicinae
## 304 Formica_quadrata 44586 Formicinae
## 305 Formica_radchenkoi 44522 Formicinae
## 306 Formica_robusta 4971 Formicinae
## 307 Formica_sepulta 38999 Formicinae
## 308 Formica_serresi 38999 Formicinae
## 309 Formica_seuberti 37344 Formicinae
## 310 Formica_strangulata 40999 Formicinae
## 311 Formica_surinamensis 44587 Formicinae
## 312 Formica_trigona 44584 Formicinae
## 313 Formica_tripartita 38999 Formicinae
## 314 Formica_ungeri 37344 Formicinae
## 315 Formica_zherikhini 44522 Formicinae
## 316 Formicinae 44418 Formicinae
## 317 Fushuniformica_spinata 40725 Formicinae
## 318 Gesomyrmex_bremii 37344 Formicinae
## 319 Gesomyrmex_breviceps 44599 Formicinae
## 320 Gesomyrmex_curiosus 44599 Formicinae
## 321 Gesomyrmex_flavescens 44599 Formicinae
## 322 Gesomyrmex_germanicus 44599 Formicinae
## 323 Gesomyrmex_hoernesi 40999 Formicinae
## 324 Gesomyrmex_incertus 56094 Formicinae
## 325 Gesomyrmex_macrops 56094 Formicinae
## 326 Gesomyrmex_magnus 56094 Formicinae
## 327 Gesomyrmex_pulcher 44599 Formicinae
## 328 Glaphyromyrmex_oligocenicus 38999 Formicinae
## 329 Heeridris_croaticus 51760 Formicinae
## 330 Huaxiaformica_mallepetiolata 40725 Formicinae
## 331 Imhoffia_nigra 37344 Formicinae
## 332 Imhoffia_pallida 38709 Formicinae
## 333 Kyromyrma_neffi 36269 Formicinae
## 334 Lasius 39931 Formicinae
## 335 Lasius_anthracinus 51760 Formicinae
## 336 Lasius_chambonensis 44462 Formicinae
## 337 Lasius_crispus 44462 Formicinae
## 338 Lasius_epicentrus 38999 Formicinae
## 339 Lasius_globularis 38709 Formicinae
## 340 Lasius_glom 55770 Formicinae
## 341 Lasius_inflatus 16579 Formicinae
## 342 Lasius_longaevus 51392 Formicinae
## 343 Lasius_longipennis 37344 Formicinae
## 344 Lasius_mordicus 16579 Formicinae
## 345 Lasius_nemorivagus 40999 Formicinae
## 346 Lasius_oblongus 37742 Formicinae
## 347 Lasius_occultatus 37344 Formicinae
## 348 Lasius_ophthalmicus 51392 Formicinae
## 349 Lasius_peritulus 4971 Formicinae
## 350 Lasius_pumilus 44414 Formicinae
## 351 Lasius_punctulatus 44414 Formicinae
## 352 Lasius_schiefferdeckeri 44414 Formicinae
## 353 Lasius_tertiarius 44614 Formicinae
## 354 Lasius_truncatus 16579 Formicinae
## 355 Lasius_validus 16579 Formicinae
## 356 Lasius_vetulus 16579 Formicinae
## 357 Leptogasteritus_capricornutes 40725 Formicinae
## 358 Leucotaphus_donisthorpei 51861 Formicinae
## 359 Leucotaphus_gurnetensis 37729 Formicinae
## 360 Liaoformica_longipetiolata 40725 Formicinae
## 361 Longiformica_dongzhouheensis 40725 Formicinae
## 362 Longiformica_guchengziensis 40725 Formicinae
## 363 Magnogasterites_curticornutus 40725 Formicinae
## 364 Myrmecorhynchus_novaeseelandiae 59088 Formicinae
## 365 Nylanderia_pygmaea 44414 Formicinae
## 366 Nylanderia_vetula 44618 Formicinae
## 367 Oecophylla_atavina 37729 Formicinae
## 368 Oecophylla_bartoniana 41450 Formicinae
## 369 Oecophylla_brischkei 44414 Formicinae
## 370 Oecophylla_crassinoda 40999 Formicinae
## 371 Oecophylla_eckfeldiana 37721 Formicinae
## 372 Oecophylla_grandimandibula 51140 Formicinae
## 373 Oecophylla_leakeyi 44619 Formicinae
## 374 Oecophylla_longiceps 37721 Formicinae
## 375 Oecophylla_megarche 37729 Formicinae
## 376 Oecophylla_obesa 37344 Formicinae
## 377 Oecophylla_praeclara 38738 Formicinae
## 378 Oecophylla_sicula 44518 Formicinae
## 379 Oecophylla_superba 38999 Formicinae
## 380 Orbicapitia_reticulata 40725 Formicinae
## 381 Ovalicapito_fushunensis 40725 Formicinae
## 382 Ovaligastrula_xilutianensis 40725 Formicinae
## 383 Plagiolepis_klinsmanni 44414 Formicinae
## 384 Plagiolepis_kuenowi 44414 Formicinae
## 385 Plagiolepis_labilis 44518 Formicinae
## 386 Plagiolepis_minutissima 44578 Formicinae
## 387 Plagiolepis_paradoxa 44621 Formicinae
## 388 Plagiolepis_singularis 44414 Formicinae
## 389 Plagiolepis_solitaria 44414 Formicinae
## 390 Plagiolepis_squamifera 44414 Formicinae
## 391 Plagiolepis_wheeleri 44621 Formicinae
## 392 Polyrhachis_annosus 42983 Formicinae
## 393 Prenolepis_henschei 39242 Formicinae
## 394 Prodimorphomyrmex_primigenius 40999 Formicinae
## 395 Protoformica_proformicoides 11234 Formicinae
## 396 Protomyrmica_atavia 44624 Formicinae
## 397 Protrechina_carpenteri 38990 Formicinae
## 398 Pseudocamponotus_elkoanus 4971 Formicinae
## 399 Pseudolasius_boreus 40999 Formicinae
## 400 Sicilomyrmex_corniger 44518 Formicinae
## 401 Sinoformica_longicapitata 40725 Formicinae
## 402 Sinotenuicapito_badis 40725 Formicinae
## 403 Wilsonia_liaoningensis 40725 Formicinae
## 404 Wilsonia_megagastrosa 40725 Formicinae
## 405 Zatania_electra 44640 Formicinae
## 406 Formicium_berryi 44588 Formicinae
## 407 Formicium_brodiei 49700 Formicinae
## tribe genus fossil min_ma max_ma notes
## 1 None Agroecomyrmex Yes 33.9000 38.000 Note
## 2 None Eulithomyrmex Yes 33.9000 37.200 Note
## 3 None Eulithomyrmex Yes 33.9000 37.200 Note
## 4 None None Yes 20.4400 23.030 Note
## 5 Amblyoponini Amblyoponini Yes 20.4400 23.030 Note
## 6 None Casaleia Yes 40.4000 48.600 Note
## 7 None Casaleia Yes 5.3330 15.970 Note
## 8 None Casaleia Yes 11.6080 12.700 Note
## 9 None Casaleia Yes 33.9000 38.000 Note
## 10 None Myopopone Yes 11.6080 15.970 Note
## 11 None Stigmatomma Yes 33.9000 38.000 Note
## 12 None Stigmatomma Yes 33.9000 38.000 Note
## 13 None Aneuretellus Yes 41.3000 47.800 Note
## 14 None Britaneuretus Yes 33.9000 38.000 Note
## 15 None Burmomyrma Yes 93.5000 99.600 Note
## 16 None Cananeuretus Yes 70.6000 83.500 Note
## 17 None Mianeuretus Yes 46.2000 50.300 Note
## 18 None Mianeuretus Yes 46.2000 50.300 Note
## 19 None Mianeuretus Yes 33.9000 37.200 Note
## 20 None Paraneuretus Yes 33.9000 38.000 Note
## 21 None Paraneuretus Yes 33.9000 38.000 Note
## 22 None Paraneuretus Yes 33.9000 38.000 Note
## 23 None Pityomyrmex Yes 33.9000 38.000 Note
## 24 None Protaneuretus Yes 33.9000 38.000 Note
## 25 None Archaeopone Yes 89.8000 93.900 Note
## 26 None Archaeopone Yes 70.6000 83.500 Note
## 27 None Armania Yes 89.8000 93.900 Note
## 28 None Armania Yes 89.8000 93.900 Note
## 29 None Armania Yes 70.6000 83.500 Note
## 30 None Armania Yes 89.8000 93.900 Note
## 31 None Armania Yes 70.6000 83.500 Stem Ant?
## 32 None Dolichomyrma Yes 89.8000 93.900 Note
## 33 None Dolichomyrma Yes 89.8000 93.900 Note
## 34 None Khetania Yes 89.8000 93.900 Note
## 35 None Orapia Yes 89.8000 93.900 Note
## 36 None Orapia Yes 89.8000 93.900 Note
## 37 None Poneropterus Yes 70.6000 83.500 Note
## 38 None Pseudarmania Yes 70.6000 83.500 Stem Ant?
## 39 None Pseudarmania Yes 70.6000 83.500 Stem Ant?
## 40 Brownimecia Yes 89.8000 93.900 Note
## 41 None Alloiomma Yes 11.6080 15.970 Note
## 42 None Alloiomma Yes 11.6080 15.970 Note
## 43 None Asymphylomyrmex Yes 33.9000 38.000 Note
## 44 Azteca Yes 15.9700 23.030 Note
## 45 Azteca Yes 13.8200 20.440 Note
## 46 Azteca Yes 13.8200 20.440 Note
## 47 None Chronomyrmex Yes 70.6000 83.500 Note
## 48 None Ctenobethylus Yes 28.4000 33.900 Note
## 49 None None Yes 5.3330 7.246 Note
## 50 None Dolichoderus Yes 5.3330 55.800 Note
## 51 None Dolichoderus Yes 33.9000 38.000 Note
## 52 None Dolichoderus Yes 28.4000 33.900 Note
## 53 None Dolichoderus Yes 33.9000 37.200 Note
## 54 None Dolichoderus Yes 23.0300 28.100 Note
## 55 None Dolichoderus Yes 33.9000 38.000 Note
## 56 None Dolichoderus Yes 33.9000 38.000 Note
## 57 None Dolichoderus Yes 33.9000 38.000 Note
## 58 None Dolichoderus Yes 28.4000 33.900 Note
## 59 None Dolichoderus Yes 13.8200 20.440 Note
## 60 None Dolichoderus Yes 28.4000 33.900 Note
## 61 None Dolichoderus Yes 33.9000 38.000 Note
## 62 None Dolichoderus Yes 13.8200 20.440 Note
## 63 None Dolichoderus Yes 41.3000 47.800 Note
## 64 None Dolichoderus Yes 33.9000 38.000 Note
## 65 None Dolichoderus Yes 11.6080 15.970 Note
## 66 None Dolichoderus Yes 28.4000 33.900 Note
## 67 None Dolichoderus Yes 33.9000 38.000 Note
## 68 None Dolichoderus Yes 11.6080 12.700 Note
## 69 None Dolichoderus Yes 11.6080 15.970 Note
## 70 None Dolichoderus Yes 46.2000 50.300 Note
## 71 None Dolichoderus Yes 33.9000 38.000 Note
## 72 None Dolichoderus Yes 33.9000 37.200 Note
## 73 None Dolichoderus Yes 11.6080 15.970 Note
## 74 None Dolichoderus Yes 33.9000 38.000 Note
## 75 None Dolichoderus Yes 33.9000 38.000 Note
## 76 None Dolichoderus Yes 33.9000 38.000 Note
## 77 None Dolichoderus Yes 11.6080 15.970 Note
## 78 None Dolichoderus Yes 33.9000 38.000 Note
## 79 None Dolichoderus Yes 33.9000 38.000 Note
## 80 None Dolichoderus Yes 23.0300 33.900 Note
## 81 None Dolichoderus Yes 33.9000 37.200 Note
## 82 None Dolichoderus Yes 33.9000 38.000 Note
## 83 None Dolichoderus Yes 33.9000 38.000 Note
## 84 None Dolichoderus Yes 33.9000 38.000 Note
## 85 None Dolichoderus Yes 33.9000 38.000 Note
## 86 None Dolichoderus Yes 33.9000 38.000 Note
## 87 None Dolichoderus Yes 33.9000 38.000 Note
## 88 None Dolichoderus Yes 13.8200 20.440 Note
## 89 None Dolichoderus Yes 13.8200 20.440 Note
## 90 None Dolichoderus Yes 33.9000 38.000 Note
## 91 None Dolichoderus Yes 33.9000 38.000 Note
## 92 None Dolichoderus Yes 33.9000 37.200 Note
## 93 None Dolichoderus Yes 33.9000 38.000 Note
## 94 None Dolichoderus Yes 13.8200 15.970 Note
## 95 None Dolichoderus Yes 33.9000 38.000 Note
## 96 None Dolichoderus Yes 11.6080 15.970 Note
## 97 None Dolichoderus Yes 33.9000 38.000 Note
## 98 None Dolichoderus Yes 33.9000 38.000 Note
## 99 None Dolichoderus Yes 33.9000 38.000 Note
## 100 None Dolichoderus Yes 33.9000 38.000 Note
## 101 None Elaeomyrmex Yes 33.9000 37.200 Note
## 102 None Elaeomyrmex Yes 33.9000 37.200 Note
## 103 None Elaphrodites Yes 11.6080 15.970 Note
## 104 None Elaphrodites Yes 11.6080 15.970 Note
## 105 None Eldermyrmex Yes 33.9000 38.000 Note
## 106 None Electromyrmex Yes 33.9000 38.000 Note
## 107 None Emplastus Yes 11.6080 12.700 Note
## 108 None Emplastus Yes 33.9000 38.000 Note
## 109 None Emplastus Yes 33.9000 38.000 Note
## 110 None Emplastus Yes 11.6080 12.700 Note
## 111 None Emplastus Yes 33.9000 38.000 Note
## 112 None Emplastus Yes 33.9000 38.000 Note
## 113 None Emplastus Yes 11.6080 12.700 Note
## 114 None Emplastus Yes 33.9000 38.000 Note
## 115 None Emplastus Yes 33.9000 38.000 Note
## 116 None Emplastus Yes 33.9000 38.000 Note
## 117 None Emplastus Yes 11.6080 12.700 Note
## 118 None Emplastus Yes 11.6080 12.700 Note
## 119 None Eotapinoma Yes 41.3000 47.800 Note
## 120 None Eotapinoma Yes 41.3000 47.800 Note
## 121 None Eotapinoma Yes 70.6000 83.500 Note
## 122 None Eurymyrmex Yes 11.6080 15.970 Note
## 123 None Forelius Yes 15.9700 23.030 Note
## 124 None Gracilidris Yes 13.8200 20.440 Note
## 125 None Iridomyrmex Yes 38.0000 41.300 Note
## 126 None Iridomyrmex Yes 11.6080 15.970 Note
## 127 None Kotshkorkia Yes 5.3330 15.970 Note
## 128 None Ktunaxia Yes 41.3000 47.800 Note
## 129 None Leptomyrmex Yes 13.8200 20.440 Note
## 130 None Leptomyrmula Yes 5.3330 11.608 Note
## 131 None Linepithema Yes 13.8200 20.440 Note
## 132 None Liometopum Yes 11.6080 12.700 Note
## 133 None Liometopum Yes 33.9000 38.000 Note
## 134 None Liometopum Yes 11.6080 15.970 Note
## 135 None Liometopum Yes 11.6080 12.700 Note
## 136 None Liometopum Yes 33.9000 38.000 Note
## 137 None Liometopum Yes 11.6080 15.970 Note
## 138 None Liometopum Yes 33.9000 37.200 Note
## 139 None Liometopum Yes 33.9000 38.000 Note
## 140 None Liometopum Yes 11.6080 15.970 Note
## 141 None Liometopum Yes 33.9000 37.200 Note
## 142 None Miomyrmex Yes 33.9000 37.200 Note
## 143 None Miomyrmex Yes 33.9000 37.200 Note
## 144 None Petraeomyrmex Yes 33.9000 37.200 Note
## 145 None Proiridomyrmex Yes 41.3000 47.800 Note
## 146 None Proiridomyrmex Yes 46.2000 50.300 Note
## 147 None Protazteca Yes 33.9000 37.200 Note
## 148 None Protazteca Yes 33.9000 37.200 Note
## 149 None Protazteca Yes 41.3000 47.800 Note
## 150 None Protazteca Yes 33.9000 37.200 Note
## 151 None Protazteca Yes 33.9000 37.200 Note
## 152 None Tapinoma Yes 5.3330 11.608 Note
## 153 None Tapinoma Yes 33.9000 38.000 Note
## 154 None Tapinoma Yes 11.6080 15.970 Note
## 155 None Tapinoma Yes 33.9000 38.000 Note
## 156 None Tapinoma Yes 5.3330 11.608 Note
## 157 None Tapinoma Yes 13.8200 20.440 Note
## 158 None Technomyrmex Yes 13.8200 20.440 Note
## 159 None Technomyrmex Yes 5.3330 11.608 Note
## 160 None Technomyrmex Yes 13.8200 20.440 Note
## 161 None Technomyrmex Yes 11.6080 15.970 Note
## 162 None Usomyrma Yes 33.9000 38.000 Note
## 163 None Yantaromyrmex Yes 33.9000 38.000 Note
## 164 None Yantaromyrmex Yes 28.4000 33.900 Note
## 165 None Yantaromyrmex Yes 33.9000 38.000 Note
## 166 None Yantaromyrmex Yes 33.9000 38.000 Note
## 167 None Yantaromyrmex Yes 33.9000 38.000 Note
## 168 None Zherichinius Yes 41.3000 47.800 Note
## 169 None Zherichinius Yes 41.3000 47.800 Note
## 170 Acanthostichus Yes 13.8200 20.440 Note
## 171 None Cylindromyrmex Yes 13.8200 20.440 Note
## 172 None Cylindromyrmex Yes 13.8200 20.440 Note
## 173 None Cylindromyrmex Yes 13.8200 20.440 Note
## 174 None None Yes 1.8000 4.900 Note
## 175 None Lioponera Yes 28.4000 33.900 Note
## 176 None Neivamyrmex Yes 15.9700 23.030 Note
## 177 None Neivamyrmex Yes 13.8200 20.440 Note
## 178 None Procerapachys Yes 33.9000 38.000 Note
## 179 None Procerapachys Yes 33.9000 38.000 Note
## 180 None Procerapachys Yes 33.9000 38.000 Note
## 181 None Canapone Yes 70.6000 83.500 Note
## 182 Ectatomma Yes 5.3330 11.608 Note
## 183 Gnamptogenys Yes 13.8200 20.440 Note
## 184 Gnamptogenys Yes 13.8200 20.440 Note
## 185 Gnamptogenys Yes 33.9000 38.000 Note
## 186 Gnamptogenys Yes 13.8200 20.440 Note
## 187 Gnamptogenys Yes 13.8200 20.440 Note
## 188 Gnamptogenys Yes 33.9000 38.000 Note
## 189 None Pseudectatomma Yes 40.4000 48.600 Note
## 190 None Pseudectatomma Yes 40.4000 48.600 Note
## 191 None Rhytidoponera Yes 20.4400 23.030 Note
## 192 None Rhytidoponera Yes 5.3330 15.970 Note
## 193 None Rhytidoponera Yes 20.4400 23.030 Note
## 194 None Titanomyrma Yes 40.4000 48.600 Note
## 195 None Titanomyrma Yes 48.6000 55.800 Note
## 196 None Titanomyrma Yes 40.4000 48.600 Note
## 197 Acropyga Yes 13.8200 20.440 Note
## 198 Acropyga Yes 13.8200 20.440 Note
## 199 Camponotini None Yes 2.5880 3.600 Note
## 200 None Camponotites Yes 11.6080 15.970 Note
## 201 None Camponotites Yes 47.8000 56.000 Note
## 202 None Camponotites Yes 11.6080 15.970 Note
## 203 None Camponotites Yes 2.5880 3.600 Note
## 204 None Camponotites Yes 2.5880 3.600 Note
## 205 None Camponotites Yes 11.6080 15.970 Note
## 206 None Camponotus Yes 15.9700 20.430 Note
## 207 None Camponotus Yes 11.6080 15.970 Note
## 208 None Camponotus Yes 11.6080 15.970 Note
## 209 None Camponotus Yes 33.9000 38.000 Note
## 210 None Camponotus Yes 28.4000 33.900 Note
## 211 None Camponotus Yes 5.3330 8.700 Note
## 212 None Camponotus Yes 11.6080 15.970 Note
## 213 None Camponotus Yes 15.9700 20.430 Note
## 214 None Camponotus Yes 11.6080 15.970 Note
## 215 None Camponotus Yes 33.9000 37.200 Note
## 216 None Camponotus Yes 11.6080 15.970 Note
## 217 None Camponotus Yes 11.6080 12.700 Note
## 218 None Camponotus Yes 1.8060 2.588 Note
## 219 None Camponotus Yes 11.6080 12.700 Note
## 220 None Camponotus Yes 11.6080 12.700 Note
## 221 None Camponotus Yes 23.0300 28.100 Note
## 222 None Camponotus Yes 11.6080 15.970 Note
## 223 None Camponotus Yes 11.6080 15.970 Note
## 224 None Camponotus Yes 28.4000 33.900 Note
## 225 None Camponotus Yes 33.9000 37.200 Note
## 226 None Camponotus Yes 11.6080 15.970 Note
## 227 None Camponotus Yes 11.6080 15.970 Note
## 228 None Camponotus Yes 28.1000 33.900 Note
## 229 None Camponotus Yes 7.2460 11.620 Note
## 230 None Camponotus Yes 11.6080 12.700 Note
## 231 None Camponotus Yes 11.6080 15.970 Note
## 232 None Camponotus Yes 23.0300 28.100 Note
## 233 None Camponotus Yes 33.9000 37.200 Note
## 234 None Camponotus Yes 11.6080 15.970 Note
## 235 None Camponotus Yes 11.6080 12.700 Note
## 236 None Camponotus Yes 11.6080 15.970 Note
## 237 None Camponotus Yes 11.6080 15.970 Note
## 238 None Camponotus Yes 23.0300 28.100 Note
## 239 None Camponotus Yes 48.6000 55.800 Note
## 240 None Camponotus Yes 5.3330 7.246 Note
## 241 None Camponotus Yes 28.4000 33.900 Note
## 242 None Camponotus Yes 46.2000 50.300 Note
## 243 None Cataglyphoides Yes 33.9000 38.000 Note
## 244 None Cataglyphoides Yes 33.9000 38.000 Note
## 245 None Chimaeromyrma Yes 41.3000 47.800 Note
## 246 None Conoformica Yes 33.9000 38.000 Note
## 247 None Curtipalpulus Yes 48.6000 55.800 Note
## 248 None Drymomyrmex Yes 33.9000 38.000 Note
## 249 None Drymomyrmex Yes 28.4000 33.900 Note
## 250 None Eoleptocerites Yes 48.6000 55.800 Note
## 251 None Eoleptocerites Yes 48.6000 55.800 Note
## 252 None Eurytarsites Yes 48.6000 55.800 Note
## 253 None Formica Yes 33.9000 37.200 Note
## 254 None Formica Yes 28.4000 33.900 Note
## 255 None Formica Yes 41.3000 47.800 Note
## 256 None Formica Yes 23.0300 33.900 Note
## 257 None Formica Yes 5.3330 7.246 Note
## 258 None Formica Yes 23.0300 28.400 Note
## 259 None Formica Yes 33.9000 38.000 Note
## 260 None Formica Yes 15.9700 16.900 Note
## 261 None Formica Yes 7.2460 11.620 Note
## 262 None Formica Yes 11.6080 15.970 Note
## 263 None Formica Yes 33.9000 37.200 Note
## 264 None Formica Yes 11.6080 12.700 Note
## 265 None Formica Yes 33.9000 37.200 Note
## 266 None Formica Yes 11.6080 15.970 Note
## 267 None Formica Yes 28.4000 33.900 Note
## 268 None Formica Yes 11.6080 15.970 Note
## 269 None Formica Yes 33.9000 38.000 Note
## 270 None Formica Yes 11.6080 12.700 Note
## 271 None Formica Yes 33.9000 37.200 Note
## 272 None Formica Yes 11.6080 12.700 Note
## 273 None Formica Yes 33.9000 38.000 Note
## 274 None Formica Yes 41.3000 47.800 Note
## 275 None Formica Yes 33.9000 38.000 Note
## 276 None Formica Yes 11.6080 12.700 Note
## 277 None Formica Yes 33.9000 38.000 Note
## 278 None Formica Yes 23.0300 28.100 Note
## 279 None Formica Yes 11.6080 12.700 Note
## 280 None Formica Yes 11.6080 15.970 Note
## 281 None Formica Yes 11.6080 12.700 Note
## 282 None Formica Yes 33.9000 38.000 Note
## 283 None Formica Yes 33.9000 38.000 Note
## 284 None Formica Yes 11.6080 12.700 Note
## 285 None Formica Yes 33.9000 38.000 Note
## 286 None Formica Yes 11.6080 12.700 Note
## 287 None Formica Yes 5.3330 7.246 Note
## 288 None Formica Yes 11.6080 12.700 Note
## 289 None Formica Yes 0.0117 0.126 Note
## 290 None Formica Yes 33.9000 38.000 Note
## 291 None Formica Yes 11.6080 12.700 Note
## 292 None Formica Yes 11.6080 12.700 Note
## 293 None Formica Yes 11.6080 15.970 Note
## 294 None Formica Yes 33.9000 38.000 Note
## 295 None Formica Yes 33.9000 38.000 Note
## 296 None Formica Yes 11.6080 12.700 Note
## 297 None Formica Yes 33.9000 38.000 Note
## 298 None Formica Yes 33.9000 38.000 Note
## 299 None Formica Yes 2.5880 3.600 Note
## 300 None Formica Yes 11.6080 12.700 Note
## 301 None Formica Yes 11.6080 12.700 Note
## 302 None Formica Yes 11.6080 12.700 Note
## 303 None Formica Yes 11.6080 12.700 Note
## 304 None Formica Yes 33.9000 38.000 Note
## 305 None Formica Yes 33.9000 38.000 Note
## 306 None Formica Yes 33.9000 37.200 Note
## 307 None Formica Yes 28.4000 33.900 Note
## 308 None Formica Yes 23.0300 28.100 Note
## 309 None Formica Yes 11.6080 12.700 Note
## 310 None Formica Yes 33.9000 38.000 Note
## 311 None Formica Yes 33.9000 38.000 Note
## 312 None Formica Yes 33.9000 38.000 Note
## 313 None Formica Yes 28.4000 33.900 Note
## 314 None Formica Yes 11.6080 12.700 Note
## 315 None Formica Yes 33.9000 38.000 Note
## 316 None None Yes 46.2000 50.300 Note
## 317 None Fushuniformica Yes 48.6000 55.800 Note
## 318 None Gesomyrmex Yes 11.6080 12.700 Note
## 319 None Gesomyrmex Yes 40.4000 48.600 Note
## 320 None Gesomyrmex Yes 40.4000 48.600 Note
## 321 None Gesomyrmex Yes 40.4000 48.600 Note
## 322 None Gesomyrmex Yes 40.4000 48.600 Note
## 323 None Gesomyrmex Yes 33.9000 38.000 Note
## 324 None Gesomyrmex Yes 33.9000 38.000 Note
## 325 None Gesomyrmex Yes 33.9000 38.000 Note
## 326 None Gesomyrmex Yes 33.9000 38.000 Note
## 327 None Gesomyrmex Yes 40.4000 48.600 Note
## 328 None Glaphyromyrmex Yes 28.4000 33.900 Note
## 329 None Heeridris Yes 11.6080 12.700 Note
## 330 None Huaxiaformica Yes 48.6000 55.800 Note
## 331 None Imhoffia Yes 11.6080 12.700 Note
## 332 None Imhoffia Yes 11.6080 12.700 Note
## 333 None Kyromyrma Yes 89.8000 93.900 Note
## 334 None Lasius Yes 20.4400 23.030 Note
## 335 None Lasius Yes 11.6080 12.700 Note
## 336 None Lasius Yes 2.5880 3.600 Note
## 337 None Lasius Yes 7.2460 11.620 Note
## 338 None Lasius Yes 23.0300 28.100 Note
## 339 None Lasius Yes 23.0300 28.100 Note
## 340 None Lasius Yes 41.3000 47.800 Note
## 341 None Lasius Yes 11.6080 15.970 Note
## 342 None Lasius Yes 11.6080 12.700 Note
## 343 None Lasius Yes 11.6080 12.700 Note
## 344 None Lasius Yes 11.6080 15.970 Note
## 345 None Lasius Yes 33.9000 38.000 Note
## 346 None Lasius Yes 5.3330 11.608 Note
## 347 None Lasius Yes 12.7000 13.650 Note
## 348 None Lasius Yes 11.6080 12.700 Note
## 349 None Lasius Yes 33.9000 37.200 Note
## 350 None Lasius Yes 33.9000 38.000 Note
## 351 None Lasius Yes 33.9000 38.000 Note
## 352 None Lasius Yes 33.9000 38.000 Note
## 353 None Lasius Yes 11.6080 12.700 Note
## 354 None Lasius Yes 11.6080 15.970 Note
## 355 None Lasius Yes 11.6080 15.970 Note
## 356 None Lasius Yes 11.6080 15.970 Note
## 357 None Leptogasteritus Yes 48.6000 55.800 Note
## 358 None Leucotaphus Yes 33.9000 38.000 Note
## 359 None Leucotaphus Yes 33.9000 38.000 Note
## 360 None Liaoformica Yes 48.6000 55.800 Note
## 361 None Longiformica Yes 48.6000 55.800 Note
## 362 None Longiformica Yes 48.6000 55.800 Note
## 363 None Magnogasterites Yes 48.6000 55.800 Note
## 364 None Myrmecorhynchus Yes 20.4400 23.030 Note
## 365 None Nylanderia Yes 33.9000 38.000 Note
## 366 None Nylanderia Yes 13.8200 20.440 Note
## 367 None Oecophylla Yes 33.9000 38.000 Note
## 368 None Oecophylla Yes 41.3000 47.800 Note
## 369 None Oecophylla Yes 33.9000 38.000 Note
## 370 None Oecophylla Yes 33.9000 38.000 Note
## 371 None Oecophylla Yes 40.4000 48.600 Note
## 372 None Oecophylla Yes 5.3330 8.700 Note
## 373 None Oecophylla Yes 15.9700 20.440 Note
## 374 None Oecophylla Yes 40.4000 48.600 Note
## 375 None Oecophylla Yes 33.9000 38.000 Note
## 376 None Oecophylla Yes 11.6080 12.700 Note
## 377 None Oecophylla Yes 28.4000 33.900 Note
## 378 None Oecophylla Yes 5.3330 11.608 Note
## 379 None Oecophylla Yes 28.4000 33.900 Note
## 380 None Orbicapitia Yes 48.6000 55.800 Note
## 381 None Ovalicapito Yes 48.6000 55.800 Note
## 382 None Ovaligastrula Yes 48.6000 55.800 Note
## 383 None Plagiolepis Yes 33.9000 38.000 Note
## 384 None Plagiolepis Yes 33.9000 38.000 Note
## 385 None Plagiolepis Yes 5.3330 11.608 Note
## 386 None Plagiolepis Yes 33.9000 38.000 Note
## 387 None Plagiolepis Yes 33.9000 38.000 Note
## 388 None Plagiolepis Yes 33.9000 38.000 Note
## 389 None Plagiolepis Yes 33.9000 38.000 Note
## 390 None Plagiolepis Yes 33.9000 38.000 Note
## 391 None Plagiolepis Yes 33.9000 38.000 Note
## 392 None Polyrhachis Yes 5.3330 7.246 Note
## 393 Prenolepis Yes 33.9000 38.000 Note
## 394 None Prodimorphomyrmex Yes 33.9000 38.000 Note
## 395 None Protoformica Yes 33.9000 38.000 Note
## 396 None Protomyrmica Yes 33.9000 38.000 Note
## 397 None Protrechina Yes 38.0000 41.300 Note
## 398 None Pseudocamponotus Yes 28.4000 37.200 Note
## 399 None Pseudolasius Yes 33.9000 38.000 Note
## 400 None Sicilomyrmex Yes 5.3330 11.608 Note
## 401 None Sinoformica Yes 48.6000 55.800 Note
## 402 None Sinotenuicapito Yes 48.6000 55.800 Note
## 403 None Wilsonia Yes 48.6000 55.800 Note
## 404 None Wilsonia Yes 48.6000 55.800 Note
## 405 None Zatania Yes 13.8200 20.440 Note
## 406 None Formicium Yes 38.0000 41.300 Note
## 407 None Formicium Yes 33.9000 38.000 Note
What we see is the data. We are able to call up the data to view because the data have been saved to a variable, ant_data, which was stored in memory as a dataframe when we called read_csv.
Challenge:
Try this command again without saving it to a variable. - What happens?
- Is it what you expected?
- Why did this happen?
Let’s take a closer look at the ant_data object. On the face of it, it looks very much like our Excel file. Now, we’ll explore how to access data in this dataframe. Let’s start by getting a look at all the names in the file. There are a couple ways we can do this:
ant_data$specimen
## [1] "Agroecomyrmex_duisburgi"
## [2] "Eulithomyrmex_rugosus"
## [3] "Eulithomyrmex_striatus"
## [4] "Amblyoponinae"
## [5] "Amblyoponini"
## [6] "Casaleia_eocenica"
## [7] "Casaleia_inversa"
## [8] "Casaleia_longiventris"
## [9] "Casaleia_orientalis"
## [10] "Myopopone_sinensis"
## [11] "Stigmatomma_electrina"
## [12] "Stigmatomma_groehni"
## [13] "Aneuretellus_deformis"
## [14] "Britaneuretus_anglicus"
## [15] "Burmomyrma_rossi"
## [16] "Cananeuretus_occidentalis"
## [17] "Mianeuretus"
## [18] "Mianeuretus_eocenicus"
## [19] "Mianeuretus_mirabilis"
## [20] "Paraneuretus_dubovikoffi"
## [21] "Paraneuretus_longicornis"
## [22] "Paraneuretus_tornquisti"
## [23] "Pityomyrmex_tornquisti"
## [24] "Protaneuretus_succineus"
## [25] "Archaeopone_kzylzharica"
## [26] "Archaeopone_taylori"
## [27] "Armania"
## [28] "Armania_capitata"
## [29] "Armania_curiosa"
## [30] "Armania_pristina"
## [31] "Armania_robusta"
## [32] "Dolichomyrma_latipes"
## [33] "Dolichomyrma_longiceps"
## [34] "Khetania_mandibulata"
## [35] "Orapia_minor"
## [36] "Orapia_rayneri"
## [37] "Poneropterus_sphecoides"
## [38] "Pseudarmania_aberrans"
## [39] "Pseudarmania_rasnitsyni"
## [40] "Brownimecia_clavata"
## [41] "Alloiomma_changweiensis"
## [42] "Alloiomma_differentialis"
## [43] "Asymphylomyrmex_balticus"
## [44] "Azteca"
## [45] "Azteca_alpha"
## [46] "Azteca_eumeces"
## [47] "Chronomyrmex_medicinehatensis"
## [48] "Ctenobethylus_goepperti"
## [49] "Dolichoderinae"
## [50] "Dolichoderus"
## [51] "Dolichoderus_(Hypoclinea)_passalomma"
## [52] "Dolichoderus_affectus"
## [53] "Dolichoderus_antiquus"
## [54] "Dolichoderus_balticus"
## [55] "Dolichoderus_brevicornis"
## [56] "Dolichoderus_brevipalpis"
## [57] "Dolichoderus_brevipennis"
## [58] "Dolichoderus_bruneti"
## [59] "Dolichoderus_caribbaeus"
## [60] "Dolichoderus_coquandi"
## [61] "Dolichoderus_cornutus"
## [62] "Dolichoderus_dibolius"
## [63] "Dolichoderus_dlusskyi"
## [64] "Dolichoderus_elegans"
## [65] "Dolichoderus_evolans"
## [66] "Dolichoderus_explicans"
## [67] "Dolichoderus_granulinotus"
## [68] "Dolichoderus_heeri"
## [69] "Dolichoderus_jiaoyanshanensis"
## [70] "Dolichoderus_kohlsi"
## [71] "Dolichoderus_kutscheri"
## [72] "Dolichoderus_kutschlinicus"
## [73] "Dolichoderus_lacinius"
## [74] "Dolichoderus_longipennis"
## [75] "Dolichoderus_longipilosus"
## [76] "Dolichoderus_lucidus"
## [77] "Dolichoderus_luridivenosus"
## [78] "Dolichoderus_mesosternalis"
## [79] "Dolichoderus_nanus"
## [80] "Dolichoderus_obliteratus"
## [81] "Dolichoderus_oviformis"
## [82] "Dolichoderus_passalomma"
## [83] "Dolichoderus_perkovskyi"
## [84] "Dolichoderus_pilipes"
## [85] "Dolichoderus_pinguis"
## [86] "Dolichoderus_polessus"
## [87] "Dolichoderus_polonicus"
## [88] "Dolichoderus_primitivus"
## [89] "Dolichoderus_prolaminatus"
## [90] "Dolichoderus_punctatus"
## [91] "Dolichoderus_robustus"
## [92] "Dolichoderus_rohweri"
## [93] "Dolichoderus_sculpturatus"
## [94] "Dolichoderus_tauricus"
## [95] "Dolichoderus_tertiarius"
## [96] "Dolichoderus_transversipetiolaris"
## [97] "Dolichoderus_vectensis"
## [98] "Dolichoderus_vexillarius"
## [99] "Dolichoderus_vlaskini"
## [100] "Dolichoderus_zherichini"
## [101] "Elaeomyrmex_coloradensis"
## [102] "Elaeomyrmex_gracilis"
## [103] "Elaphrodites_mutatus"
## [104] "Elaphrodites_scutulatus"
## [105] "Eldermyrmex_oblongiceps"
## [106] "Electromyrmex_klebsi"
## [107] "Emplastus_antiquus"
## [108] "Emplastus_biamoensis"
## [109] "Emplastus_britannicus"
## [110] "Emplastus_dubius"
## [111] "Emplastus_elongatus"
## [112] "Emplastus_gurnetensis"
## [113] "Emplastus_haueri"
## [114] "Emplastus_hypolithus"
## [115] "Emplastus_kozlovi"
## [116] "Emplastus_macrops"
## [117] "Emplastus_miocenicus"
## [118] "Emplastus_ocellus"
## [119] "Eotapinoma_compacta"
## [120] "Eotapinoma_gracilis"
## [121] "Eotapinoma_macalpini"
## [122] "Eurymyrmex_geologicus"
## [123] "Forelius"
## [124] "Gracilidris_humiloides"
## [125] "Iridomyrmex"
## [126] "Iridomyrmex_shandongicus"
## [127] "Kotshkorkia_laticeps"
## [128] "Ktunaxia_jucunda"
## [129] "Leptomyrmex_neotropicus"
## [130] "Leptomyrmula_maravignae"
## [131] "Linepithema"
## [132] "Liometopum"
## [133] "Liometopum_bogdassarovi"
## [134] "Liometopum_eremicum"
## [135] "Liometopum_imhoffii"
## [136] "Liometopum_incognitum"
## [137] "Liometopum_lubricum"
## [138] "Liometopum_miocenicum"
## [139] "Liometopum_oligocenicum"
## [140] "Liometopum_potamophilum"
## [141] "Liometopum_scudderi"
## [142] "Miomyrmex_impactus"
## [143] "Miomyrmex_striatus"
## [144] "Petraeomyrmex_minimus"
## [145] "Proiridomyrmex_rotundatus"
## [146] "Proiridomyrmex_vetulus"
## [147] "Protazteca_capitata"
## [148] "Protazteca_elongata"
## [149] "Protazteca_eocenica"
## [150] "Protazteca_hendersoni"
## [151] "Protazteca_quadrata"
## [152] "Tapinoma"
## [153] "Tapinoma_aberrans"
## [154] "Tapinoma_baculum"
## [155] "Tapinoma_electrinum"
## [156] "Tapinoma_minutissimum"
## [157] "Tapinoma_troche"
## [158] "Technomyrmex_caritatis"
## [159] "Technomyrmex_deletus"
## [160] "Technomyrmex_hispaniolae"
## [161] "Technomyrmex_septentrionalis"
## [162] "Usomyrma_mirabilis"
## [163] "Yantaromyrmex_constrictus"
## [164] "Yantaromyrmex_geinitzi"
## [165] "Yantaromyrmex_intermedius"
## [166] "Yantaromyrmex_mayrianum"
## [167] "Yantaromyrmex_samlandicus"
## [168] "Zherichinius_horribilis"
## [169] "Zherichinius_rapax"
## [170] "Acanthostichus_hispaniolicus"
## [171] "Cylindromyrmex_antillanus"
## [172] "Cylindromyrmex_electrinus"
## [173] "Cylindromyrmex_inopinatus"
## [174] "Dorylinae"
## [175] "Lioponera"
## [176] "Neivamyrmex"
## [177] "Neivamyrmex_ectopus"
## [178] "Procerapachys_annosus"
## [179] "Procerapachys_favosus"
## [180] "Procerapachys_sulcatus"
## [181] "Canapone_dentata"
## [182] "Ectatomma_gracile"
## [183] "Gnamptogenys_brunoi"
## [184] "Gnamptogenys_casca"
## [185] "Gnamptogenys_europaea"
## [186] "Gnamptogenys_levinates"
## [187] "Gnamptogenys_pristina"
## [188] "Gnamptogenys_rohdendorfi"
## [189] "Pseudectatomma_eocenica"
## [190] "Pseudectatomma_striatula"
## [191] "Rhytidoponera_gibsoni"
## [192] "Rhytidoponera_kirghizorum"
## [193] "Rhytidoponera_waipiata"
## [194] "Titanomyrma_gigantea"
## [195] "Titanomyrma_lubei"
## [196] "Titanomyrma_simillima"
## [197] "Acropyga"
## [198] "Acropyga_glaesaria"
## [199] "Camponotini"
## [200] "Camponotites"
## [201] "Camponotites_kraussei"
## [202] "Camponotites_macropterus"
## [203] "Camponotites_silvestris"
## [204] "Camponotites_steinbachi"
## [205] "Camponotites_xiejiaheensis"
## [206] "Camponotus"
## [207] "Camponotus_ambon"
## [208] "Camponotus_ampullosus"
## [209] "Camponotus_cockerelli"
## [210] "Camponotus_compactus"
## [211] "Camponotus_crozei"
## [212] "Camponotus_curviansatus"
## [213] "Camponotus_festinatus"
## [214] "Camponotus_festinus"
## [215] "Camponotus_fuscipennis"
## [216] "Camponotus_gracilis"
## [217] "Camponotus_heracleus"
## [218] "Camponotus_herculeanus"
## [219] "Camponotus_induratus"
## [220] "Camponotus_lignitus"
## [221] "Camponotus_longiventris"
## [222] "Camponotus_longus"
## [223] "Camponotus_luteus"
## [224] "Camponotus_mengei"
## [225] "Camponotus_microcephalus"
## [226] "Camponotus_microthoracus"
## [227] "Camponotus_mitis"
## [228] "Camponotus_novotnyi"
## [229] "Camponotus_obesus"
## [230] "Camponotus_oeningensis"
## [231] "Camponotus_palaeopterus"
## [232] "Camponotus_penninervis"
## [233] "Camponotus_petrifactus"
## [234] "Camponotus_pictus"
## [235] "Camponotus_pinguiculus"
## [236] "Camponotus_plenus"
## [237] "Camponotus_shanwangensis"
## [238] "Camponotus_theobaldi"
## [239] "Camponotus_tokunagai"
## [240] "Camponotus_ullrichi"
## [241] "Camponotus_vehemens"
## [242] "Camponotus_vetus"
## [243] "Cataglyphoides_constrictus"
## [244] "Cataglyphoides_intermedius"
## [245] "Chimaeromyrma_brachycephala"
## [246] "Conoformica_bitterfeldiana"
## [247] "Curtipalpulus_eocenicus"
## [248] "Drymomyrmex_claripennis"
## [249] "Drymomyrmex_fuscipennis"
## [250] "Eoleptocerites_chinensis"
## [251] "Eoleptocerites_fushunensis"
## [252] "Eurytarsites_fushunensis"
## [253] "Formica"
## [254] "Formica_alsatica"
## [255] "Formica_annosa"
## [256] "Formica_arcana"
## [257] "Formica_auxillacensis"
## [258] "Formica_bauckhorni"
## [259] "Formica_biamoensis"
## [260] "Formica_buphthalma"
## [261] "Formica_cantalica"
## [262] "Formica_ceps"
## [263] "Formica_cockerelli"
## [264] "Formica_demersa"
## [265] "Formica_eoptera"
## [266] "Formica_flavifemoralis"
## [267] "Formica_flori"
## [268] "Formica_fusca"
## [269] "Formica_gibbosa"
## [270] "Formica_globiventris"
## [271] "Formica_grandis"
## [272] "Formica_gravida"
## [273] "Formica_gustawi"
## [274] "Formica_heteroptera"
## [275] "Formica_horrida"
## [276] "Formica_immersa"
## [277] "Formica_kutscheri"
## [278] "Formica_latinodosa"
## [279] "Formica_lavateri"
## [280] "Formica_linquensis"
## [281] "Formica_longicollis"
## [282] "Formica_lucida"
## [283] "Formica_luteola"
## [284] "Formica_macrocephala"
## [285] "Formica_macrognatha"
## [286] "Formica_macrophthalma"
## [287] "Formica_maculipennis"
## [288] "Formica_martynovi"
## [289] "Formica_neorufibarbis"
## [290] "Formica_nigra"
## [291] "Formica_obscura"
## [292] "Formica_orbata"
## [293] "Formica_ovala"
## [294] "Formica_palaeopolonica"
## [295] "Formica_paleosibirica"
## [296] "Formica_parexsecta"
## [297] "Formica_parvula"
## [298] "Formica_phaethusa"
## [299] "Formica_pitoni"
## [300] "Formica_primitiva"
## [301] "Formica_primordialis"
## [302] "Formica_procera"
## [303] "Formica_pulchella"
## [304] "Formica_quadrata"
## [305] "Formica_radchenkoi"
## [306] "Formica_robusta"
## [307] "Formica_sepulta"
## [308] "Formica_serresi"
## [309] "Formica_seuberti"
## [310] "Formica_strangulata"
## [311] "Formica_surinamensis"
## [312] "Formica_trigona"
## [313] "Formica_tripartita"
## [314] "Formica_ungeri"
## [315] "Formica_zherikhini"
## [316] "Formicinae"
## [317] "Fushuniformica_spinata"
## [318] "Gesomyrmex_bremii"
## [319] "Gesomyrmex_breviceps"
## [320] "Gesomyrmex_curiosus"
## [321] "Gesomyrmex_flavescens"
## [322] "Gesomyrmex_germanicus"
## [323] "Gesomyrmex_hoernesi"
## [324] "Gesomyrmex_incertus"
## [325] "Gesomyrmex_macrops"
## [326] "Gesomyrmex_magnus"
## [327] "Gesomyrmex_pulcher"
## [328] "Glaphyromyrmex_oligocenicus"
## [329] "Heeridris_croaticus"
## [330] "Huaxiaformica_mallepetiolata"
## [331] "Imhoffia_nigra"
## [332] "Imhoffia_pallida"
## [333] "Kyromyrma_neffi"
## [334] "Lasius"
## [335] "Lasius_anthracinus"
## [336] "Lasius_chambonensis"
## [337] "Lasius_crispus"
## [338] "Lasius_epicentrus"
## [339] "Lasius_globularis"
## [340] "Lasius_glom"
## [341] "Lasius_inflatus"
## [342] "Lasius_longaevus"
## [343] "Lasius_longipennis"
## [344] "Lasius_mordicus"
## [345] "Lasius_nemorivagus"
## [346] "Lasius_oblongus"
## [347] "Lasius_occultatus"
## [348] "Lasius_ophthalmicus"
## [349] "Lasius_peritulus"
## [350] "Lasius_pumilus"
## [351] "Lasius_punctulatus"
## [352] "Lasius_schiefferdeckeri"
## [353] "Lasius_tertiarius"
## [354] "Lasius_truncatus"
## [355] "Lasius_validus"
## [356] "Lasius_vetulus"
## [357] "Leptogasteritus_capricornutes"
## [358] "Leucotaphus_donisthorpei"
## [359] "Leucotaphus_gurnetensis"
## [360] "Liaoformica_longipetiolata"
## [361] "Longiformica_dongzhouheensis"
## [362] "Longiformica_guchengziensis"
## [363] "Magnogasterites_curticornutus"
## [364] "Myrmecorhynchus_novaeseelandiae"
## [365] "Nylanderia_pygmaea"
## [366] "Nylanderia_vetula"
## [367] "Oecophylla_atavina"
## [368] "Oecophylla_bartoniana"
## [369] "Oecophylla_brischkei"
## [370] "Oecophylla_crassinoda"
## [371] "Oecophylla_eckfeldiana"
## [372] "Oecophylla_grandimandibula"
## [373] "Oecophylla_leakeyi"
## [374] "Oecophylla_longiceps"
## [375] "Oecophylla_megarche"
## [376] "Oecophylla_obesa"
## [377] "Oecophylla_praeclara"
## [378] "Oecophylla_sicula"
## [379] "Oecophylla_superba"
## [380] "Orbicapitia_reticulata"
## [381] "Ovalicapito_fushunensis"
## [382] "Ovaligastrula_xilutianensis"
## [383] "Plagiolepis_klinsmanni"
## [384] "Plagiolepis_kuenowi"
## [385] "Plagiolepis_labilis"
## [386] "Plagiolepis_minutissima"
## [387] "Plagiolepis_paradoxa"
## [388] "Plagiolepis_singularis"
## [389] "Plagiolepis_solitaria"
## [390] "Plagiolepis_squamifera"
## [391] "Plagiolepis_wheeleri"
## [392] "Polyrhachis_annosus"
## [393] "Prenolepis_henschei"
## [394] "Prodimorphomyrmex_primigenius"
## [395] "Protoformica_proformicoides"
## [396] "Protomyrmica_atavia"
## [397] "Protrechina_carpenteri"
## [398] "Pseudocamponotus_elkoanus"
## [399] "Pseudolasius_boreus"
## [400] "Sicilomyrmex_corniger"
## [401] "Sinoformica_longicapitata"
## [402] "Sinotenuicapito_badis"
## [403] "Wilsonia_liaoningensis"
## [404] "Wilsonia_megagastrosa"
## [405] "Zatania_electra"
## [406] "Formicium_berryi"
## [407] "Formicium_brodiei"
or
ant_data[[1]]
## [1] "Agroecomyrmex_duisburgi"
## [2] "Eulithomyrmex_rugosus"
## [3] "Eulithomyrmex_striatus"
## [4] "Amblyoponinae"
## [5] "Amblyoponini"
## [6] "Casaleia_eocenica"
## [7] "Casaleia_inversa"
## [8] "Casaleia_longiventris"
## [9] "Casaleia_orientalis"
## [10] "Myopopone_sinensis"
## [11] "Stigmatomma_electrina"
## [12] "Stigmatomma_groehni"
## [13] "Aneuretellus_deformis"
## [14] "Britaneuretus_anglicus"
## [15] "Burmomyrma_rossi"
## [16] "Cananeuretus_occidentalis"
## [17] "Mianeuretus"
## [18] "Mianeuretus_eocenicus"
## [19] "Mianeuretus_mirabilis"
## [20] "Paraneuretus_dubovikoffi"
## [21] "Paraneuretus_longicornis"
## [22] "Paraneuretus_tornquisti"
## [23] "Pityomyrmex_tornquisti"
## [24] "Protaneuretus_succineus"
## [25] "Archaeopone_kzylzharica"
## [26] "Archaeopone_taylori"
## [27] "Armania"
## [28] "Armania_capitata"
## [29] "Armania_curiosa"
## [30] "Armania_pristina"
## [31] "Armania_robusta"
## [32] "Dolichomyrma_latipes"
## [33] "Dolichomyrma_longiceps"
## [34] "Khetania_mandibulata"
## [35] "Orapia_minor"
## [36] "Orapia_rayneri"
## [37] "Poneropterus_sphecoides"
## [38] "Pseudarmania_aberrans"
## [39] "Pseudarmania_rasnitsyni"
## [40] "Brownimecia_clavata"
## [41] "Alloiomma_changweiensis"
## [42] "Alloiomma_differentialis"
## [43] "Asymphylomyrmex_balticus"
## [44] "Azteca"
## [45] "Azteca_alpha"
## [46] "Azteca_eumeces"
## [47] "Chronomyrmex_medicinehatensis"
## [48] "Ctenobethylus_goepperti"
## [49] "Dolichoderinae"
## [50] "Dolichoderus"
## [51] "Dolichoderus_(Hypoclinea)_passalomma"
## [52] "Dolichoderus_affectus"
## [53] "Dolichoderus_antiquus"
## [54] "Dolichoderus_balticus"
## [55] "Dolichoderus_brevicornis"
## [56] "Dolichoderus_brevipalpis"
## [57] "Dolichoderus_brevipennis"
## [58] "Dolichoderus_bruneti"
## [59] "Dolichoderus_caribbaeus"
## [60] "Dolichoderus_coquandi"
## [61] "Dolichoderus_cornutus"
## [62] "Dolichoderus_dibolius"
## [63] "Dolichoderus_dlusskyi"
## [64] "Dolichoderus_elegans"
## [65] "Dolichoderus_evolans"
## [66] "Dolichoderus_explicans"
## [67] "Dolichoderus_granulinotus"
## [68] "Dolichoderus_heeri"
## [69] "Dolichoderus_jiaoyanshanensis"
## [70] "Dolichoderus_kohlsi"
## [71] "Dolichoderus_kutscheri"
## [72] "Dolichoderus_kutschlinicus"
## [73] "Dolichoderus_lacinius"
## [74] "Dolichoderus_longipennis"
## [75] "Dolichoderus_longipilosus"
## [76] "Dolichoderus_lucidus"
## [77] "Dolichoderus_luridivenosus"
## [78] "Dolichoderus_mesosternalis"
## [79] "Dolichoderus_nanus"
## [80] "Dolichoderus_obliteratus"
## [81] "Dolichoderus_oviformis"
## [82] "Dolichoderus_passalomma"
## [83] "Dolichoderus_perkovskyi"
## [84] "Dolichoderus_pilipes"
## [85] "Dolichoderus_pinguis"
## [86] "Dolichoderus_polessus"
## [87] "Dolichoderus_polonicus"
## [88] "Dolichoderus_primitivus"
## [89] "Dolichoderus_prolaminatus"
## [90] "Dolichoderus_punctatus"
## [91] "Dolichoderus_robustus"
## [92] "Dolichoderus_rohweri"
## [93] "Dolichoderus_sculpturatus"
## [94] "Dolichoderus_tauricus"
## [95] "Dolichoderus_tertiarius"
## [96] "Dolichoderus_transversipetiolaris"
## [97] "Dolichoderus_vectensis"
## [98] "Dolichoderus_vexillarius"
## [99] "Dolichoderus_vlaskini"
## [100] "Dolichoderus_zherichini"
## [101] "Elaeomyrmex_coloradensis"
## [102] "Elaeomyrmex_gracilis"
## [103] "Elaphrodites_mutatus"
## [104] "Elaphrodites_scutulatus"
## [105] "Eldermyrmex_oblongiceps"
## [106] "Electromyrmex_klebsi"
## [107] "Emplastus_antiquus"
## [108] "Emplastus_biamoensis"
## [109] "Emplastus_britannicus"
## [110] "Emplastus_dubius"
## [111] "Emplastus_elongatus"
## [112] "Emplastus_gurnetensis"
## [113] "Emplastus_haueri"
## [114] "Emplastus_hypolithus"
## [115] "Emplastus_kozlovi"
## [116] "Emplastus_macrops"
## [117] "Emplastus_miocenicus"
## [118] "Emplastus_ocellus"
## [119] "Eotapinoma_compacta"
## [120] "Eotapinoma_gracilis"
## [121] "Eotapinoma_macalpini"
## [122] "Eurymyrmex_geologicus"
## [123] "Forelius"
## [124] "Gracilidris_humiloides"
## [125] "Iridomyrmex"
## [126] "Iridomyrmex_shandongicus"
## [127] "Kotshkorkia_laticeps"
## [128] "Ktunaxia_jucunda"
## [129] "Leptomyrmex_neotropicus"
## [130] "Leptomyrmula_maravignae"
## [131] "Linepithema"
## [132] "Liometopum"
## [133] "Liometopum_bogdassarovi"
## [134] "Liometopum_eremicum"
## [135] "Liometopum_imhoffii"
## [136] "Liometopum_incognitum"
## [137] "Liometopum_lubricum"
## [138] "Liometopum_miocenicum"
## [139] "Liometopum_oligocenicum"
## [140] "Liometopum_potamophilum"
## [141] "Liometopum_scudderi"
## [142] "Miomyrmex_impactus"
## [143] "Miomyrmex_striatus"
## [144] "Petraeomyrmex_minimus"
## [145] "Proiridomyrmex_rotundatus"
## [146] "Proiridomyrmex_vetulus"
## [147] "Protazteca_capitata"
## [148] "Protazteca_elongata"
## [149] "Protazteca_eocenica"
## [150] "Protazteca_hendersoni"
## [151] "Protazteca_quadrata"
## [152] "Tapinoma"
## [153] "Tapinoma_aberrans"
## [154] "Tapinoma_baculum"
## [155] "Tapinoma_electrinum"
## [156] "Tapinoma_minutissimum"
## [157] "Tapinoma_troche"
## [158] "Technomyrmex_caritatis"
## [159] "Technomyrmex_deletus"
## [160] "Technomyrmex_hispaniolae"
## [161] "Technomyrmex_septentrionalis"
## [162] "Usomyrma_mirabilis"
## [163] "Yantaromyrmex_constrictus"
## [164] "Yantaromyrmex_geinitzi"
## [165] "Yantaromyrmex_intermedius"
## [166] "Yantaromyrmex_mayrianum"
## [167] "Yantaromyrmex_samlandicus"
## [168] "Zherichinius_horribilis"
## [169] "Zherichinius_rapax"
## [170] "Acanthostichus_hispaniolicus"
## [171] "Cylindromyrmex_antillanus"
## [172] "Cylindromyrmex_electrinus"
## [173] "Cylindromyrmex_inopinatus"
## [174] "Dorylinae"
## [175] "Lioponera"
## [176] "Neivamyrmex"
## [177] "Neivamyrmex_ectopus"
## [178] "Procerapachys_annosus"
## [179] "Procerapachys_favosus"
## [180] "Procerapachys_sulcatus"
## [181] "Canapone_dentata"
## [182] "Ectatomma_gracile"
## [183] "Gnamptogenys_brunoi"
## [184] "Gnamptogenys_casca"
## [185] "Gnamptogenys_europaea"
## [186] "Gnamptogenys_levinates"
## [187] "Gnamptogenys_pristina"
## [188] "Gnamptogenys_rohdendorfi"
## [189] "Pseudectatomma_eocenica"
## [190] "Pseudectatomma_striatula"
## [191] "Rhytidoponera_gibsoni"
## [192] "Rhytidoponera_kirghizorum"
## [193] "Rhytidoponera_waipiata"
## [194] "Titanomyrma_gigantea"
## [195] "Titanomyrma_lubei"
## [196] "Titanomyrma_simillima"
## [197] "Acropyga"
## [198] "Acropyga_glaesaria"
## [199] "Camponotini"
## [200] "Camponotites"
## [201] "Camponotites_kraussei"
## [202] "Camponotites_macropterus"
## [203] "Camponotites_silvestris"
## [204] "Camponotites_steinbachi"
## [205] "Camponotites_xiejiaheensis"
## [206] "Camponotus"
## [207] "Camponotus_ambon"
## [208] "Camponotus_ampullosus"
## [209] "Camponotus_cockerelli"
## [210] "Camponotus_compactus"
## [211] "Camponotus_crozei"
## [212] "Camponotus_curviansatus"
## [213] "Camponotus_festinatus"
## [214] "Camponotus_festinus"
## [215] "Camponotus_fuscipennis"
## [216] "Camponotus_gracilis"
## [217] "Camponotus_heracleus"
## [218] "Camponotus_herculeanus"
## [219] "Camponotus_induratus"
## [220] "Camponotus_lignitus"
## [221] "Camponotus_longiventris"
## [222] "Camponotus_longus"
## [223] "Camponotus_luteus"
## [224] "Camponotus_mengei"
## [225] "Camponotus_microcephalus"
## [226] "Camponotus_microthoracus"
## [227] "Camponotus_mitis"
## [228] "Camponotus_novotnyi"
## [229] "Camponotus_obesus"
## [230] "Camponotus_oeningensis"
## [231] "Camponotus_palaeopterus"
## [232] "Camponotus_penninervis"
## [233] "Camponotus_petrifactus"
## [234] "Camponotus_pictus"
## [235] "Camponotus_pinguiculus"
## [236] "Camponotus_plenus"
## [237] "Camponotus_shanwangensis"
## [238] "Camponotus_theobaldi"
## [239] "Camponotus_tokunagai"
## [240] "Camponotus_ullrichi"
## [241] "Camponotus_vehemens"
## [242] "Camponotus_vetus"
## [243] "Cataglyphoides_constrictus"
## [244] "Cataglyphoides_intermedius"
## [245] "Chimaeromyrma_brachycephala"
## [246] "Conoformica_bitterfeldiana"
## [247] "Curtipalpulus_eocenicus"
## [248] "Drymomyrmex_claripennis"
## [249] "Drymomyrmex_fuscipennis"
## [250] "Eoleptocerites_chinensis"
## [251] "Eoleptocerites_fushunensis"
## [252] "Eurytarsites_fushunensis"
## [253] "Formica"
## [254] "Formica_alsatica"
## [255] "Formica_annosa"
## [256] "Formica_arcana"
## [257] "Formica_auxillacensis"
## [258] "Formica_bauckhorni"
## [259] "Formica_biamoensis"
## [260] "Formica_buphthalma"
## [261] "Formica_cantalica"
## [262] "Formica_ceps"
## [263] "Formica_cockerelli"
## [264] "Formica_demersa"
## [265] "Formica_eoptera"
## [266] "Formica_flavifemoralis"
## [267] "Formica_flori"
## [268] "Formica_fusca"
## [269] "Formica_gibbosa"
## [270] "Formica_globiventris"
## [271] "Formica_grandis"
## [272] "Formica_gravida"
## [273] "Formica_gustawi"
## [274] "Formica_heteroptera"
## [275] "Formica_horrida"
## [276] "Formica_immersa"
## [277] "Formica_kutscheri"
## [278] "Formica_latinodosa"
## [279] "Formica_lavateri"
## [280] "Formica_linquensis"
## [281] "Formica_longicollis"
## [282] "Formica_lucida"
## [283] "Formica_luteola"
## [284] "Formica_macrocephala"
## [285] "Formica_macrognatha"
## [286] "Formica_macrophthalma"
## [287] "Formica_maculipennis"
## [288] "Formica_martynovi"
## [289] "Formica_neorufibarbis"
## [290] "Formica_nigra"
## [291] "Formica_obscura"
## [292] "Formica_orbata"
## [293] "Formica_ovala"
## [294] "Formica_palaeopolonica"
## [295] "Formica_paleosibirica"
## [296] "Formica_parexsecta"
## [297] "Formica_parvula"
## [298] "Formica_phaethusa"
## [299] "Formica_pitoni"
## [300] "Formica_primitiva"
## [301] "Formica_primordialis"
## [302] "Formica_procera"
## [303] "Formica_pulchella"
## [304] "Formica_quadrata"
## [305] "Formica_radchenkoi"
## [306] "Formica_robusta"
## [307] "Formica_sepulta"
## [308] "Formica_serresi"
## [309] "Formica_seuberti"
## [310] "Formica_strangulata"
## [311] "Formica_surinamensis"
## [312] "Formica_trigona"
## [313] "Formica_tripartita"
## [314] "Formica_ungeri"
## [315] "Formica_zherikhini"
## [316] "Formicinae"
## [317] "Fushuniformica_spinata"
## [318] "Gesomyrmex_bremii"
## [319] "Gesomyrmex_breviceps"
## [320] "Gesomyrmex_curiosus"
## [321] "Gesomyrmex_flavescens"
## [322] "Gesomyrmex_germanicus"
## [323] "Gesomyrmex_hoernesi"
## [324] "Gesomyrmex_incertus"
## [325] "Gesomyrmex_macrops"
## [326] "Gesomyrmex_magnus"
## [327] "Gesomyrmex_pulcher"
## [328] "Glaphyromyrmex_oligocenicus"
## [329] "Heeridris_croaticus"
## [330] "Huaxiaformica_mallepetiolata"
## [331] "Imhoffia_nigra"
## [332] "Imhoffia_pallida"
## [333] "Kyromyrma_neffi"
## [334] "Lasius"
## [335] "Lasius_anthracinus"
## [336] "Lasius_chambonensis"
## [337] "Lasius_crispus"
## [338] "Lasius_epicentrus"
## [339] "Lasius_globularis"
## [340] "Lasius_glom"
## [341] "Lasius_inflatus"
## [342] "Lasius_longaevus"
## [343] "Lasius_longipennis"
## [344] "Lasius_mordicus"
## [345] "Lasius_nemorivagus"
## [346] "Lasius_oblongus"
## [347] "Lasius_occultatus"
## [348] "Lasius_ophthalmicus"
## [349] "Lasius_peritulus"
## [350] "Lasius_pumilus"
## [351] "Lasius_punctulatus"
## [352] "Lasius_schiefferdeckeri"
## [353] "Lasius_tertiarius"
## [354] "Lasius_truncatus"
## [355] "Lasius_validus"
## [356] "Lasius_vetulus"
## [357] "Leptogasteritus_capricornutes"
## [358] "Leucotaphus_donisthorpei"
## [359] "Leucotaphus_gurnetensis"
## [360] "Liaoformica_longipetiolata"
## [361] "Longiformica_dongzhouheensis"
## [362] "Longiformica_guchengziensis"
## [363] "Magnogasterites_curticornutus"
## [364] "Myrmecorhynchus_novaeseelandiae"
## [365] "Nylanderia_pygmaea"
## [366] "Nylanderia_vetula"
## [367] "Oecophylla_atavina"
## [368] "Oecophylla_bartoniana"
## [369] "Oecophylla_brischkei"
## [370] "Oecophylla_crassinoda"
## [371] "Oecophylla_eckfeldiana"
## [372] "Oecophylla_grandimandibula"
## [373] "Oecophylla_leakeyi"
## [374] "Oecophylla_longiceps"
## [375] "Oecophylla_megarche"
## [376] "Oecophylla_obesa"
## [377] "Oecophylla_praeclara"
## [378] "Oecophylla_sicula"
## [379] "Oecophylla_superba"
## [380] "Orbicapitia_reticulata"
## [381] "Ovalicapito_fushunensis"
## [382] "Ovaligastrula_xilutianensis"
## [383] "Plagiolepis_klinsmanni"
## [384] "Plagiolepis_kuenowi"
## [385] "Plagiolepis_labilis"
## [386] "Plagiolepis_minutissima"
## [387] "Plagiolepis_paradoxa"
## [388] "Plagiolepis_singularis"
## [389] "Plagiolepis_solitaria"
## [390] "Plagiolepis_squamifera"
## [391] "Plagiolepis_wheeleri"
## [392] "Polyrhachis_annosus"
## [393] "Prenolepis_henschei"
## [394] "Prodimorphomyrmex_primigenius"
## [395] "Protoformica_proformicoides"
## [396] "Protomyrmica_atavia"
## [397] "Protrechina_carpenteri"
## [398] "Pseudocamponotus_elkoanus"
## [399] "Pseudolasius_boreus"
## [400] "Sicilomyrmex_corniger"
## [401] "Sinoformica_longicapitata"
## [402] "Sinotenuicapito_badis"
## [403] "Wilsonia_liaoningensis"
## [404] "Wilsonia_megagastrosa"
## [405] "Zatania_electra"
## [406] "Formicium_berryi"
## [407] "Formicium_brodiei"
In our first block of code, we call the dataframe object and use what is called indexing to get the first column. Now, you may be thinking, what is going on with the notation? The brackets indicate that we will be accessing a column. This may be somewhat surprising - that the language doesn’t start with one. It’s actually quite natural- you weren’t born at one year old, were you? But it still takes a little to get used to - programmers often verbally say the first item, but they mean the zeroeth item.
In our second block of code, we call the column by its name - specimen. This is a very natural way to access the data. We gave attributes of the data names, why not use them?
Challenge:
Try accessing other columns.
- When will it be useful to access by name?
- When will it not?
We can also select multiple columns at once using our column names.
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.1 ──
## ✓ ggplot2 3.3.5 ✓ purrr 0.3.4
## ✓ tibble 3.1.6 ✓ dplyr 1.0.8
## ✓ tidyr 1.2.0 ✓ stringr 1.4.0
## ✓ readr 2.1.2 ✓ forcats 0.5.1
## Warning: package 'tidyr' was built under R version 4.0.5
## Warning: package 'readr' was built under R version 4.0.5
## Warning: package 'dplyr' was built under R version 4.0.5
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
## specimen tribe
## 1 Agroecomyrmex_duisburgi None
## 2 Eulithomyrmex_rugosus None
## 3 Eulithomyrmex_striatus None
## 4 Amblyoponinae None
## 5 Amblyoponini Amblyoponini
## 6 Casaleia_eocenica None
## 7 Casaleia_inversa None
## 8 Casaleia_longiventris None
## 9 Casaleia_orientalis None
## 10 Myopopone_sinensis None
## 11 Stigmatomma_electrina None
## 12 Stigmatomma_groehni None
## 13 Aneuretellus_deformis None
## 14 Britaneuretus_anglicus None
## 15 Burmomyrma_rossi None
## 16 Cananeuretus_occidentalis None
## 17 Mianeuretus None
## 18 Mianeuretus_eocenicus None
## 19 Mianeuretus_mirabilis None
## 20 Paraneuretus_dubovikoffi None
## 21 Paraneuretus_longicornis None
## 22 Paraneuretus_tornquisti None
## 23 Pityomyrmex_tornquisti None
## 24 Protaneuretus_succineus None
## 25 Archaeopone_kzylzharica None
## 26 Archaeopone_taylori None
## 27 Armania None
## 28 Armania_capitata None
## 29 Armania_curiosa None
## 30 Armania_pristina None
## 31 Armania_robusta None
## 32 Dolichomyrma_latipes None
## 33 Dolichomyrma_longiceps None
## 34 Khetania_mandibulata None
## 35 Orapia_minor None
## 36 Orapia_rayneri None
## 37 Poneropterus_sphecoides None
## 38 Pseudarmania_aberrans None
## 39 Pseudarmania_rasnitsyni None
## 40 Brownimecia_clavata
## 41 Alloiomma_changweiensis None
## 42 Alloiomma_differentialis None
## 43 Asymphylomyrmex_balticus None
## 44 Azteca
## 45 Azteca_alpha
## 46 Azteca_eumeces
## 47 Chronomyrmex_medicinehatensis None
## 48 Ctenobethylus_goepperti None
## 49 Dolichoderinae None
## 50 Dolichoderus None
## 51 Dolichoderus_(Hypoclinea)_passalomma None
## 52 Dolichoderus_affectus None
## 53 Dolichoderus_antiquus None
## 54 Dolichoderus_balticus None
## 55 Dolichoderus_brevicornis None
## 56 Dolichoderus_brevipalpis None
## 57 Dolichoderus_brevipennis None
## 58 Dolichoderus_bruneti None
## 59 Dolichoderus_caribbaeus None
## 60 Dolichoderus_coquandi None
## 61 Dolichoderus_cornutus None
## 62 Dolichoderus_dibolius None
## 63 Dolichoderus_dlusskyi None
## 64 Dolichoderus_elegans None
## 65 Dolichoderus_evolans None
## 66 Dolichoderus_explicans None
## 67 Dolichoderus_granulinotus None
## 68 Dolichoderus_heeri None
## 69 Dolichoderus_jiaoyanshanensis None
## 70 Dolichoderus_kohlsi None
## 71 Dolichoderus_kutscheri None
## 72 Dolichoderus_kutschlinicus None
## 73 Dolichoderus_lacinius None
## 74 Dolichoderus_longipennis None
## 75 Dolichoderus_longipilosus None
## 76 Dolichoderus_lucidus None
## 77 Dolichoderus_luridivenosus None
## 78 Dolichoderus_mesosternalis None
## 79 Dolichoderus_nanus None
## 80 Dolichoderus_obliteratus None
## 81 Dolichoderus_oviformis None
## 82 Dolichoderus_passalomma None
## 83 Dolichoderus_perkovskyi None
## 84 Dolichoderus_pilipes None
## 85 Dolichoderus_pinguis None
## 86 Dolichoderus_polessus None
## 87 Dolichoderus_polonicus None
## 88 Dolichoderus_primitivus None
## 89 Dolichoderus_prolaminatus None
## 90 Dolichoderus_punctatus None
## 91 Dolichoderus_robustus None
## 92 Dolichoderus_rohweri None
## 93 Dolichoderus_sculpturatus None
## 94 Dolichoderus_tauricus None
## 95 Dolichoderus_tertiarius None
## 96 Dolichoderus_transversipetiolaris None
## 97 Dolichoderus_vectensis None
## 98 Dolichoderus_vexillarius None
## 99 Dolichoderus_vlaskini None
## 100 Dolichoderus_zherichini None
## 101 Elaeomyrmex_coloradensis None
## 102 Elaeomyrmex_gracilis None
## 103 Elaphrodites_mutatus None
## 104 Elaphrodites_scutulatus None
## 105 Eldermyrmex_oblongiceps None
## 106 Electromyrmex_klebsi None
## 107 Emplastus_antiquus None
## 108 Emplastus_biamoensis None
## 109 Emplastus_britannicus None
## 110 Emplastus_dubius None
## 111 Emplastus_elongatus None
## 112 Emplastus_gurnetensis None
## 113 Emplastus_haueri None
## 114 Emplastus_hypolithus None
## 115 Emplastus_kozlovi None
## 116 Emplastus_macrops None
## 117 Emplastus_miocenicus None
## 118 Emplastus_ocellus None
## 119 Eotapinoma_compacta None
## 120 Eotapinoma_gracilis None
## 121 Eotapinoma_macalpini None
## 122 Eurymyrmex_geologicus None
## 123 Forelius None
## 124 Gracilidris_humiloides None
## 125 Iridomyrmex None
## 126 Iridomyrmex_shandongicus None
## 127 Kotshkorkia_laticeps None
## 128 Ktunaxia_jucunda None
## 129 Leptomyrmex_neotropicus None
## 130 Leptomyrmula_maravignae None
## 131 Linepithema None
## 132 Liometopum None
## 133 Liometopum_bogdassarovi None
## 134 Liometopum_eremicum None
## 135 Liometopum_imhoffii None
## 136 Liometopum_incognitum None
## 137 Liometopum_lubricum None
## 138 Liometopum_miocenicum None
## 139 Liometopum_oligocenicum None
## 140 Liometopum_potamophilum None
## 141 Liometopum_scudderi None
## 142 Miomyrmex_impactus None
## 143 Miomyrmex_striatus None
## 144 Petraeomyrmex_minimus None
## 145 Proiridomyrmex_rotundatus None
## 146 Proiridomyrmex_vetulus None
## 147 Protazteca_capitata None
## 148 Protazteca_elongata None
## 149 Protazteca_eocenica None
## 150 Protazteca_hendersoni None
## 151 Protazteca_quadrata None
## 152 Tapinoma None
## 153 Tapinoma_aberrans None
## 154 Tapinoma_baculum None
## 155 Tapinoma_electrinum None
## 156 Tapinoma_minutissimum None
## 157 Tapinoma_troche None
## 158 Technomyrmex_caritatis None
## 159 Technomyrmex_deletus None
## 160 Technomyrmex_hispaniolae None
## 161 Technomyrmex_septentrionalis None
## 162 Usomyrma_mirabilis None
## 163 Yantaromyrmex_constrictus None
## 164 Yantaromyrmex_geinitzi None
## 165 Yantaromyrmex_intermedius None
## 166 Yantaromyrmex_mayrianum None
## 167 Yantaromyrmex_samlandicus None
## 168 Zherichinius_horribilis None
## 169 Zherichinius_rapax None
## 170 Acanthostichus_hispaniolicus
## 171 Cylindromyrmex_antillanus None
## 172 Cylindromyrmex_electrinus None
## 173 Cylindromyrmex_inopinatus None
## 174 Dorylinae None
## 175 Lioponera None
## 176 Neivamyrmex None
## 177 Neivamyrmex_ectopus None
## 178 Procerapachys_annosus None
## 179 Procerapachys_favosus None
## 180 Procerapachys_sulcatus None
## 181 Canapone_dentata None
## 182 Ectatomma_gracile
## 183 Gnamptogenys_brunoi
## 184 Gnamptogenys_casca
## 185 Gnamptogenys_europaea
## 186 Gnamptogenys_levinates
## 187 Gnamptogenys_pristina
## 188 Gnamptogenys_rohdendorfi
## 189 Pseudectatomma_eocenica None
## 190 Pseudectatomma_striatula None
## 191 Rhytidoponera_gibsoni None
## 192 Rhytidoponera_kirghizorum None
## 193 Rhytidoponera_waipiata None
## 194 Titanomyrma_gigantea None
## 195 Titanomyrma_lubei None
## 196 Titanomyrma_simillima None
## 197 Acropyga
## 198 Acropyga_glaesaria
## 199 Camponotini Camponotini
## 200 Camponotites None
## 201 Camponotites_kraussei None
## 202 Camponotites_macropterus None
## 203 Camponotites_silvestris None
## 204 Camponotites_steinbachi None
## 205 Camponotites_xiejiaheensis None
## 206 Camponotus None
## 207 Camponotus_ambon None
## 208 Camponotus_ampullosus None
## 209 Camponotus_cockerelli None
## 210 Camponotus_compactus None
## 211 Camponotus_crozei None
## 212 Camponotus_curviansatus None
## 213 Camponotus_festinatus None
## 214 Camponotus_festinus None
## 215 Camponotus_fuscipennis None
## 216 Camponotus_gracilis None
## 217 Camponotus_heracleus None
## 218 Camponotus_herculeanus None
## 219 Camponotus_induratus None
## 220 Camponotus_lignitus None
## 221 Camponotus_longiventris None
## 222 Camponotus_longus None
## 223 Camponotus_luteus None
## 224 Camponotus_mengei None
## 225 Camponotus_microcephalus None
## 226 Camponotus_microthoracus None
## 227 Camponotus_mitis None
## 228 Camponotus_novotnyi None
## 229 Camponotus_obesus None
## 230 Camponotus_oeningensis None
## 231 Camponotus_palaeopterus None
## 232 Camponotus_penninervis None
## 233 Camponotus_petrifactus None
## 234 Camponotus_pictus None
## 235 Camponotus_pinguiculus None
## 236 Camponotus_plenus None
## 237 Camponotus_shanwangensis None
## 238 Camponotus_theobaldi None
## 239 Camponotus_tokunagai None
## 240 Camponotus_ullrichi None
## 241 Camponotus_vehemens None
## 242 Camponotus_vetus None
## 243 Cataglyphoides_constrictus None
## 244 Cataglyphoides_intermedius None
## 245 Chimaeromyrma_brachycephala None
## 246 Conoformica_bitterfeldiana None
## 247 Curtipalpulus_eocenicus None
## 248 Drymomyrmex_claripennis None
## 249 Drymomyrmex_fuscipennis None
## 250 Eoleptocerites_chinensis None
## 251 Eoleptocerites_fushunensis None
## 252 Eurytarsites_fushunensis None
## 253 Formica None
## 254 Formica_alsatica None
## 255 Formica_annosa None
## 256 Formica_arcana None
## 257 Formica_auxillacensis None
## 258 Formica_bauckhorni None
## 259 Formica_biamoensis None
## 260 Formica_buphthalma None
## 261 Formica_cantalica None
## 262 Formica_ceps None
## 263 Formica_cockerelli None
## 264 Formica_demersa None
## 265 Formica_eoptera None
## 266 Formica_flavifemoralis None
## 267 Formica_flori None
## 268 Formica_fusca None
## 269 Formica_gibbosa None
## 270 Formica_globiventris None
## 271 Formica_grandis None
## 272 Formica_gravida None
## 273 Formica_gustawi None
## 274 Formica_heteroptera None
## 275 Formica_horrida None
## 276 Formica_immersa None
## 277 Formica_kutscheri None
## 278 Formica_latinodosa None
## 279 Formica_lavateri None
## 280 Formica_linquensis None
## 281 Formica_longicollis None
## 282 Formica_lucida None
## 283 Formica_luteola None
## 284 Formica_macrocephala None
## 285 Formica_macrognatha None
## 286 Formica_macrophthalma None
## 287 Formica_maculipennis None
## 288 Formica_martynovi None
## 289 Formica_neorufibarbis None
## 290 Formica_nigra None
## 291 Formica_obscura None
## 292 Formica_orbata None
## 293 Formica_ovala None
## 294 Formica_palaeopolonica None
## 295 Formica_paleosibirica None
## 296 Formica_parexsecta None
## 297 Formica_parvula None
## 298 Formica_phaethusa None
## 299 Formica_pitoni None
## 300 Formica_primitiva None
## 301 Formica_primordialis None
## 302 Formica_procera None
## 303 Formica_pulchella None
## 304 Formica_quadrata None
## 305 Formica_radchenkoi None
## 306 Formica_robusta None
## 307 Formica_sepulta None
## 308 Formica_serresi None
## 309 Formica_seuberti None
## 310 Formica_strangulata None
## 311 Formica_surinamensis None
## 312 Formica_trigona None
## 313 Formica_tripartita None
## 314 Formica_ungeri None
## 315 Formica_zherikhini None
## 316 Formicinae None
## 317 Fushuniformica_spinata None
## 318 Gesomyrmex_bremii None
## 319 Gesomyrmex_breviceps None
## 320 Gesomyrmex_curiosus None
## 321 Gesomyrmex_flavescens None
## 322 Gesomyrmex_germanicus None
## 323 Gesomyrmex_hoernesi None
## 324 Gesomyrmex_incertus None
## 325 Gesomyrmex_macrops None
## 326 Gesomyrmex_magnus None
## 327 Gesomyrmex_pulcher None
## 328 Glaphyromyrmex_oligocenicus None
## 329 Heeridris_croaticus None
## 330 Huaxiaformica_mallepetiolata None
## 331 Imhoffia_nigra None
## 332 Imhoffia_pallida None
## 333 Kyromyrma_neffi None
## 334 Lasius None
## 335 Lasius_anthracinus None
## 336 Lasius_chambonensis None
## 337 Lasius_crispus None
## 338 Lasius_epicentrus None
## 339 Lasius_globularis None
## 340 Lasius_glom None
## 341 Lasius_inflatus None
## 342 Lasius_longaevus None
## 343 Lasius_longipennis None
## 344 Lasius_mordicus None
## 345 Lasius_nemorivagus None
## 346 Lasius_oblongus None
## 347 Lasius_occultatus None
## 348 Lasius_ophthalmicus None
## 349 Lasius_peritulus None
## 350 Lasius_pumilus None
## 351 Lasius_punctulatus None
## 352 Lasius_schiefferdeckeri None
## 353 Lasius_tertiarius None
## 354 Lasius_truncatus None
## 355 Lasius_validus None
## 356 Lasius_vetulus None
## 357 Leptogasteritus_capricornutes None
## 358 Leucotaphus_donisthorpei None
## 359 Leucotaphus_gurnetensis None
## 360 Liaoformica_longipetiolata None
## 361 Longiformica_dongzhouheensis None
## 362 Longiformica_guchengziensis None
## 363 Magnogasterites_curticornutus None
## 364 Myrmecorhynchus_novaeseelandiae None
## 365 Nylanderia_pygmaea None
## 366 Nylanderia_vetula None
## 367 Oecophylla_atavina None
## 368 Oecophylla_bartoniana None
## 369 Oecophylla_brischkei None
## 370 Oecophylla_crassinoda None
## 371 Oecophylla_eckfeldiana None
## 372 Oecophylla_grandimandibula None
## 373 Oecophylla_leakeyi None
## 374 Oecophylla_longiceps None
## 375 Oecophylla_megarche None
## 376 Oecophylla_obesa None
## 377 Oecophylla_praeclara None
## 378 Oecophylla_sicula None
## 379 Oecophylla_superba None
## 380 Orbicapitia_reticulata None
## 381 Ovalicapito_fushunensis None
## 382 Ovaligastrula_xilutianensis None
## 383 Plagiolepis_klinsmanni None
## 384 Plagiolepis_kuenowi None
## 385 Plagiolepis_labilis None
## 386 Plagiolepis_minutissima None
## 387 Plagiolepis_paradoxa None
## 388 Plagiolepis_singularis None
## 389 Plagiolepis_solitaria None
## 390 Plagiolepis_squamifera None
## 391 Plagiolepis_wheeleri None
## 392 Polyrhachis_annosus None
## 393 Prenolepis_henschei
## 394 Prodimorphomyrmex_primigenius None
## 395 Protoformica_proformicoides None
## 396 Protomyrmica_atavia None
## 397 Protrechina_carpenteri None
## 398 Pseudocamponotus_elkoanus None
## 399 Pseudolasius_boreus None
## 400 Sicilomyrmex_corniger None
## 401 Sinoformica_longicapitata None
## 402 Sinotenuicapito_badis None
## 403 Wilsonia_liaoningensis None
## 404 Wilsonia_megagastrosa None
## 405 Zatania_electra None
## 406 Formicium_berryi None
## 407 Formicium_brodiei None
Selecting rows of data is also possible. The below code grab all rows in the fifth and sixth columns of the dataframe:
ant_data[5:6]
## genus fossil
## 1 Agroecomyrmex Yes
## 2 Eulithomyrmex Yes
## 3 Eulithomyrmex Yes
## 4 None Yes
## 5 Amblyoponini Yes
## 6 Casaleia Yes
## 7 Casaleia Yes
## 8 Casaleia Yes
## 9 Casaleia Yes
## 10 Myopopone Yes
## 11 Stigmatomma Yes
## 12 Stigmatomma Yes
## 13 Aneuretellus Yes
## 14 Britaneuretus Yes
## 15 Burmomyrma Yes
## 16 Cananeuretus Yes
## 17 Mianeuretus Yes
## 18 Mianeuretus Yes
## 19 Mianeuretus Yes
## 20 Paraneuretus Yes
## 21 Paraneuretus Yes
## 22 Paraneuretus Yes
## 23 Pityomyrmex Yes
## 24 Protaneuretus Yes
## 25 Archaeopone Yes
## 26 Archaeopone Yes
## 27 Armania Yes
## 28 Armania Yes
## 29 Armania Yes
## 30 Armania Yes
## 31 Armania Yes
## 32 Dolichomyrma Yes
## 33 Dolichomyrma Yes
## 34 Khetania Yes
## 35 Orapia Yes
## 36 Orapia Yes
## 37 Poneropterus Yes
## 38 Pseudarmania Yes
## 39 Pseudarmania Yes
## 40 Brownimecia Yes
## 41 Alloiomma Yes
## 42 Alloiomma Yes
## 43 Asymphylomyrmex Yes
## 44 Azteca Yes
## 45 Azteca Yes
## 46 Azteca Yes
## 47 Chronomyrmex Yes
## 48 Ctenobethylus Yes
## 49 None Yes
## 50 Dolichoderus Yes
## 51 Dolichoderus Yes
## 52 Dolichoderus Yes
## 53 Dolichoderus Yes
## 54 Dolichoderus Yes
## 55 Dolichoderus Yes
## 56 Dolichoderus Yes
## 57 Dolichoderus Yes
## 58 Dolichoderus Yes
## 59 Dolichoderus Yes
## 60 Dolichoderus Yes
## 61 Dolichoderus Yes
## 62 Dolichoderus Yes
## 63 Dolichoderus Yes
## 64 Dolichoderus Yes
## 65 Dolichoderus Yes
## 66 Dolichoderus Yes
## 67 Dolichoderus Yes
## 68 Dolichoderus Yes
## 69 Dolichoderus Yes
## 70 Dolichoderus Yes
## 71 Dolichoderus Yes
## 72 Dolichoderus Yes
## 73 Dolichoderus Yes
## 74 Dolichoderus Yes
## 75 Dolichoderus Yes
## 76 Dolichoderus Yes
## 77 Dolichoderus Yes
## 78 Dolichoderus Yes
## 79 Dolichoderus Yes
## 80 Dolichoderus Yes
## 81 Dolichoderus Yes
## 82 Dolichoderus Yes
## 83 Dolichoderus Yes
## 84 Dolichoderus Yes
## 85 Dolichoderus Yes
## 86 Dolichoderus Yes
## 87 Dolichoderus Yes
## 88 Dolichoderus Yes
## 89 Dolichoderus Yes
## 90 Dolichoderus Yes
## 91 Dolichoderus Yes
## 92 Dolichoderus Yes
## 93 Dolichoderus Yes
## 94 Dolichoderus Yes
## 95 Dolichoderus Yes
## 96 Dolichoderus Yes
## 97 Dolichoderus Yes
## 98 Dolichoderus Yes
## 99 Dolichoderus Yes
## 100 Dolichoderus Yes
## 101 Elaeomyrmex Yes
## 102 Elaeomyrmex Yes
## 103 Elaphrodites Yes
## 104 Elaphrodites Yes
## 105 Eldermyrmex Yes
## 106 Electromyrmex Yes
## 107 Emplastus Yes
## 108 Emplastus Yes
## 109 Emplastus Yes
## 110 Emplastus Yes
## 111 Emplastus Yes
## 112 Emplastus Yes
## 113 Emplastus Yes
## 114 Emplastus Yes
## 115 Emplastus Yes
## 116 Emplastus Yes
## 117 Emplastus Yes
## 118 Emplastus Yes
## 119 Eotapinoma Yes
## 120 Eotapinoma Yes
## 121 Eotapinoma Yes
## 122 Eurymyrmex Yes
## 123 Forelius Yes
## 124 Gracilidris Yes
## 125 Iridomyrmex Yes
## 126 Iridomyrmex Yes
## 127 Kotshkorkia Yes
## 128 Ktunaxia Yes
## 129 Leptomyrmex Yes
## 130 Leptomyrmula Yes
## 131 Linepithema Yes
## 132 Liometopum Yes
## 133 Liometopum Yes
## 134 Liometopum Yes
## 135 Liometopum Yes
## 136 Liometopum Yes
## 137 Liometopum Yes
## 138 Liometopum Yes
## 139 Liometopum Yes
## 140 Liometopum Yes
## 141 Liometopum Yes
## 142 Miomyrmex Yes
## 143 Miomyrmex Yes
## 144 Petraeomyrmex Yes
## 145 Proiridomyrmex Yes
## 146 Proiridomyrmex Yes
## 147 Protazteca Yes
## 148 Protazteca Yes
## 149 Protazteca Yes
## 150 Protazteca Yes
## 151 Protazteca Yes
## 152 Tapinoma Yes
## 153 Tapinoma Yes
## 154 Tapinoma Yes
## 155 Tapinoma Yes
## 156 Tapinoma Yes
## 157 Tapinoma Yes
## 158 Technomyrmex Yes
## 159 Technomyrmex Yes
## 160 Technomyrmex Yes
## 161 Technomyrmex Yes
## 162 Usomyrma Yes
## 163 Yantaromyrmex Yes
## 164 Yantaromyrmex Yes
## 165 Yantaromyrmex Yes
## 166 Yantaromyrmex Yes
## 167 Yantaromyrmex Yes
## 168 Zherichinius Yes
## 169 Zherichinius Yes
## 170 Acanthostichus Yes
## 171 Cylindromyrmex Yes
## 172 Cylindromyrmex Yes
## 173 Cylindromyrmex Yes
## 174 None Yes
## 175 Lioponera Yes
## 176 Neivamyrmex Yes
## 177 Neivamyrmex Yes
## 178 Procerapachys Yes
## 179 Procerapachys Yes
## 180 Procerapachys Yes
## 181 Canapone Yes
## 182 Ectatomma Yes
## 183 Gnamptogenys Yes
## 184 Gnamptogenys Yes
## 185 Gnamptogenys Yes
## 186 Gnamptogenys Yes
## 187 Gnamptogenys Yes
## 188 Gnamptogenys Yes
## 189 Pseudectatomma Yes
## 190 Pseudectatomma Yes
## 191 Rhytidoponera Yes
## 192 Rhytidoponera Yes
## 193 Rhytidoponera Yes
## 194 Titanomyrma Yes
## 195 Titanomyrma Yes
## 196 Titanomyrma Yes
## 197 Acropyga Yes
## 198 Acropyga Yes
## 199 None Yes
## 200 Camponotites Yes
## 201 Camponotites Yes
## 202 Camponotites Yes
## 203 Camponotites Yes
## 204 Camponotites Yes
## 205 Camponotites Yes
## 206 Camponotus Yes
## 207 Camponotus Yes
## 208 Camponotus Yes
## 209 Camponotus Yes
## 210 Camponotus Yes
## 211 Camponotus Yes
## 212 Camponotus Yes
## 213 Camponotus Yes
## 214 Camponotus Yes
## 215 Camponotus Yes
## 216 Camponotus Yes
## 217 Camponotus Yes
## 218 Camponotus Yes
## 219 Camponotus Yes
## 220 Camponotus Yes
## 221 Camponotus Yes
## 222 Camponotus Yes
## 223 Camponotus Yes
## 224 Camponotus Yes
## 225 Camponotus Yes
## 226 Camponotus Yes
## 227 Camponotus Yes
## 228 Camponotus Yes
## 229 Camponotus Yes
## 230 Camponotus Yes
## 231 Camponotus Yes
## 232 Camponotus Yes
## 233 Camponotus Yes
## 234 Camponotus Yes
## 235 Camponotus Yes
## 236 Camponotus Yes
## 237 Camponotus Yes
## 238 Camponotus Yes
## 239 Camponotus Yes
## 240 Camponotus Yes
## 241 Camponotus Yes
## 242 Camponotus Yes
## 243 Cataglyphoides Yes
## 244 Cataglyphoides Yes
## 245 Chimaeromyrma Yes
## 246 Conoformica Yes
## 247 Curtipalpulus Yes
## 248 Drymomyrmex Yes
## 249 Drymomyrmex Yes
## 250 Eoleptocerites Yes
## 251 Eoleptocerites Yes
## 252 Eurytarsites Yes
## 253 Formica Yes
## 254 Formica Yes
## 255 Formica Yes
## 256 Formica Yes
## 257 Formica Yes
## 258 Formica Yes
## 259 Formica Yes
## 260 Formica Yes
## 261 Formica Yes
## 262 Formica Yes
## 263 Formica Yes
## 264 Formica Yes
## 265 Formica Yes
## 266 Formica Yes
## 267 Formica Yes
## 268 Formica Yes
## 269 Formica Yes
## 270 Formica Yes
## 271 Formica Yes
## 272 Formica Yes
## 273 Formica Yes
## 274 Formica Yes
## 275 Formica Yes
## 276 Formica Yes
## 277 Formica Yes
## 278 Formica Yes
## 279 Formica Yes
## 280 Formica Yes
## 281 Formica Yes
## 282 Formica Yes
## 283 Formica Yes
## 284 Formica Yes
## 285 Formica Yes
## 286 Formica Yes
## 287 Formica Yes
## 288 Formica Yes
## 289 Formica Yes
## 290 Formica Yes
## 291 Formica Yes
## 292 Formica Yes
## 293 Formica Yes
## 294 Formica Yes
## 295 Formica Yes
## 296 Formica Yes
## 297 Formica Yes
## 298 Formica Yes
## 299 Formica Yes
## 300 Formica Yes
## 301 Formica Yes
## 302 Formica Yes
## 303 Formica Yes
## 304 Formica Yes
## 305 Formica Yes
## 306 Formica Yes
## 307 Formica Yes
## 308 Formica Yes
## 309 Formica Yes
## 310 Formica Yes
## 311 Formica Yes
## 312 Formica Yes
## 313 Formica Yes
## 314 Formica Yes
## 315 Formica Yes
## 316 None Yes
## 317 Fushuniformica Yes
## 318 Gesomyrmex Yes
## 319 Gesomyrmex Yes
## 320 Gesomyrmex Yes
## 321 Gesomyrmex Yes
## 322 Gesomyrmex Yes
## 323 Gesomyrmex Yes
## 324 Gesomyrmex Yes
## 325 Gesomyrmex Yes
## 326 Gesomyrmex Yes
## 327 Gesomyrmex Yes
## 328 Glaphyromyrmex Yes
## 329 Heeridris Yes
## 330 Huaxiaformica Yes
## 331 Imhoffia Yes
## 332 Imhoffia Yes
## 333 Kyromyrma Yes
## 334 Lasius Yes
## 335 Lasius Yes
## 336 Lasius Yes
## 337 Lasius Yes
## 338 Lasius Yes
## 339 Lasius Yes
## 340 Lasius Yes
## 341 Lasius Yes
## 342 Lasius Yes
## 343 Lasius Yes
## 344 Lasius Yes
## 345 Lasius Yes
## 346 Lasius Yes
## 347 Lasius Yes
## 348 Lasius Yes
## 349 Lasius Yes
## 350 Lasius Yes
## 351 Lasius Yes
## 352 Lasius Yes
## 353 Lasius Yes
## 354 Lasius Yes
## 355 Lasius Yes
## 356 Lasius Yes
## 357 Leptogasteritus Yes
## 358 Leucotaphus Yes
## 359 Leucotaphus Yes
## 360 Liaoformica Yes
## 361 Longiformica Yes
## 362 Longiformica Yes
## 363 Magnogasterites Yes
## 364 Myrmecorhynchus Yes
## 365 Nylanderia Yes
## 366 Nylanderia Yes
## 367 Oecophylla Yes
## 368 Oecophylla Yes
## 369 Oecophylla Yes
## 370 Oecophylla Yes
## 371 Oecophylla Yes
## 372 Oecophylla Yes
## 373 Oecophylla Yes
## 374 Oecophylla Yes
## 375 Oecophylla Yes
## 376 Oecophylla Yes
## 377 Oecophylla Yes
## 378 Oecophylla Yes
## 379 Oecophylla Yes
## 380 Orbicapitia Yes
## 381 Ovalicapito Yes
## 382 Ovaligastrula Yes
## 383 Plagiolepis Yes
## 384 Plagiolepis Yes
## 385 Plagiolepis Yes
## 386 Plagiolepis Yes
## 387 Plagiolepis Yes
## 388 Plagiolepis Yes
## 389 Plagiolepis Yes
## 390 Plagiolepis Yes
## 391 Plagiolepis Yes
## 392 Polyrhachis Yes
## 393 Prenolepis Yes
## 394 Prodimorphomyrmex Yes
## 395 Protoformica Yes
## 396 Protomyrmica Yes
## 397 Protrechina Yes
## 398 Pseudocamponotus Yes
## 399 Pseudolasius Yes
## 400 Sicilomyrmex Yes
## 401 Sinoformica Yes
## 402 Sinotenuicapito Yes
## 403 Wilsonia Yes
## 404 Wilsonia Yes
## 405 Zatania Yes
## 406 Formicium Yes
## 407 Formicium Yes
This introduces a couple of interesting concepts. The first is using inclusive and exclusive indexing. This is an example of the 5 being inclusive - we will get the fifth row of data. The six is exclusive - we will stop accessing data at the 6th row.
In this chapter, we have discussed data storage using flat files, which can be read by both computers and humans. We introduced R libraries and learned how we can call functions out of a library to do useful tasks for us. And finally, we have started to use a small set of functions in the Pandas library to access data programmatically. In the next chapter, we will build on these concepts to perform a wider range of data tasks.
When would we not want to use lists of columns and rows to select data out of a dataframe? When we have a lot of data, which is rapidly becoming the norm in biology. In order to process data at a large scale, we need better tools to allow us to do complex data filtering, selection and manipulation. By using R, we automatically create a log of all the operations we perform as we access our data. By the end of this chapter, you will understand:
We often have an idea of the data we’d like to access. Perhaps we are interested to know what data we have for a specific genus, Oecophylla.
These outputs have the same information, but they look rather different. Try assigning each output to a variable. Now, we will call the type function on each variable.
typeof(ant_data)
## [1] "list"
typeof(oeco)
## [1] "list"
Type is a function that is built in to R. It allows us to know what sorts of objects our variables are, which in turn tells us about their properties.
A list is an R object type. It is a one-dimensional array (i.e. not a matrix). In some ways, if a dataframe is like a spreadsheet, a series is like a single row of column in that sheet. More information on the series data type can be found by typing
?list
in your notebook.
Using these complex indexers, we can begin to make multiple selections of data. For example, this syntax will select all the examples of Formica that are at least 30 million years old.
## specimen reference_no subfamily tribe genus fossil min_ma
## 1 Formica 38999 Formicinae None Formica Yes 33.9
## 2 Formica_annosa 55770 Formicinae None Formica Yes 41.3
## 3 Formica_biamoensis 56094 Formicinae None Formica Yes 33.9
## 4 Formica_cockerelli 4971 Formicinae None Formica Yes 33.9
## 5 Formica_eoptera 42241 Formicinae None Formica Yes 33.9
## 6 Formica_gibbosa 44584 Formicinae None Formica Yes 33.9
## 7 Formica_grandis 4971 Formicinae None Formica Yes 33.9
## 8 Formica_gustawi 44522 Formicinae None Formica Yes 33.9
## 9 Formica_heteroptera 41450 Formicinae None Formica Yes 41.3
## 10 Formica_horrida 40999 Formicinae None Formica Yes 33.9
## 11 Formica_kutscheri 44522 Formicinae None Formica Yes 33.9
## 12 Formica_lucida 47505 Formicinae None Formica Yes 33.9
## 13 Formica_luteola 44584 Formicinae None Formica Yes 33.9
## 14 Formica_macrognatha 44584 Formicinae None Formica Yes 33.9
## 15 Formica_nigra 44584 Formicinae None Formica Yes 33.9
## 16 Formica_palaeopolonica 44522 Formicinae None Formica Yes 33.9
## 17 Formica_paleosibirica 56094 Formicinae None Formica Yes 33.9
## 18 Formica_parvula 44584 Formicinae None Formica Yes 33.9
## 19 Formica_phaethusa 40999 Formicinae None Formica Yes 33.9
## 20 Formica_quadrata 44586 Formicinae None Formica Yes 33.9
## 21 Formica_radchenkoi 44522 Formicinae None Formica Yes 33.9
## 22 Formica_robusta 4971 Formicinae None Formica Yes 33.9
## 23 Formica_strangulata 40999 Formicinae None Formica Yes 33.9
## 24 Formica_surinamensis 44587 Formicinae None Formica Yes 33.9
## 25 Formica_trigona 44584 Formicinae None Formica Yes 33.9
## 26 Formica_zherikhini 44522 Formicinae None Formica Yes 33.9
## max_ma notes
## 1 37.2 Note
## 2 47.8 Note
## 3 38.0 Note
## 4 37.2 Note
## 5 37.2 Note
## 6 38.0 Note
## 7 37.2 Note
## 8 38.0 Note
## 9 47.8 Note
## 10 38.0 Note
## 11 38.0 Note
## 12 38.0 Note
## 13 38.0 Note
## 14 38.0 Note
## 15 38.0 Note
## 16 38.0 Note
## 17 38.0 Note
## 18 38.0 Note
## 19 38.0 Note
## 20 38.0 Note
## 21 38.0 Note
## 22 37.2 Note
## 23 38.0 Note
## 24 38.0 Note
## 25 38.0 Note
## 26 38.0 Note
Challenge
How could you print the minimum ages for all three Mianeuretus listed in this data file?
The above is more useful and flexible than what we discussed in Chapter Two. But it’s still somewhat naive - we need to know where, exactly the data are in the file to retrieve them. We’ll now cover a few methods to allow us to sort and access data without knowing this a priori.
Something we might want to do is know which of our ants are at least as old as the KPg event, the end of the Cretaceous. Ants are thought to have arisen during the Cretaceous. We can do this easily and assign our sample of old ants to a new dataframe:
The way this works is that we select all the values in the dataframe column min_ma that are larger than 65.5. By default, this will take the whole row. Then, we assign that to a new dataframe. We can write this dataframe to a csv file for storeage like so:
write_csv(old_ants, "ants_old.csv")
###Challenge
- Try this again - how could we filter for ants that only existed after the end of the Creatceous? Can we use the same column?
- When you open the parentheses on a function argument and press tab, you can see all the arguments, or special options, available to that function. Try a couple, such as delimiters. Once you’ve chosen an argument, Shift+Tab will show you possible values for the argument.
We can also use this type of indexing to compare columns. Our max_ma column should always be bigger than min_ma. We can check for rows where this isn’t the case - these are errors.
## [1] specimen reference_no subfamily tribe genus
## [6] fossil min_ma max_ma notes
## <0 rows> (or 0-length row.names)
In our data, we don’t have any such errors, but if we did, we could drop them like so:
## [1] specimen reference_no subfamily tribe genus
## [6] fossil min_ma max_ma notes
## <0 rows> (or 0-length row.names)
Does anyone see a problem with what I did there?
I made a mistake and selected only the data that have a minimum age larger than the maximum age, and used it to overwrite the dataframe object! If I overwrote my data for real, this would be a big problem. But I didn’t - R is not doing these operations in the actual spreadsheet. It’s doing them on a dataframe held in memorey - our real data are perfectly safe in the Ants.csv file.
In the previous command, I switched the inequality to accidentally drop all the values I actually wanted to keep! So far, we’ve covered some important conceptual data lessons - that data are read-only, that data should be stored in flat files. We will now learn an important lesson as it pertains to code - that code can be saved for later, as an exact record of what we did in a session of programming.
This might not sound that important, but I think most of us have probably been working in a spreadsheet and completely forgotten how we got the useful annotations on a plot, of calculated a summary statistic. In this section, we will cover some best practices for keeping track of what we’ve done. We will expand on these best practices later, and in more complexity.
For now, let’s have a look at the tool we’ve been using, the Jupyter Notebook. We’ve been typing into a window in our browser. That window is running R on our computer, and rendering the output in a nice format using Java. We have code cells, which we have been pasting code into cells and running it. In these notebooks, you can create a new cell, and chenge it’s type by selecting something other than code from the dropdown. For example, we could pick ‘Markdown’ to write notes.
What we are doing when we do this is weaving together code and data to make readable documents that follow our whole workflow. When we are done for a session, we can select ‘Save and Checkpoint’ from the File menu. This will save our notebook for later. A notebook can be emailed to a collaborator, or, as we will cover later, managed under version control. We can also download the file as a plain R script in the File menu. We will discuss why we might want to do this in Chapter Four.
Together, what this means is that our code to reproduce the analysis we did is always available. If we need to go back and do it again, for example, if we get more data, that’s easy to do. We just run the code again. If a colleague wants to try the analysis again, we can simply send them the code. This is much easier than trying to explain to someone where to click to get a certain option, particularly when spreadsheet softwares are not consistent across platforms.
So what to do with the mistake I made? We can simply go back to our notebook and re-run the steps before I made the mistake, then fix the inequality in the equation.
In this chapter, we have discussed how to programmatically access and read data using the Pandas library. We have used a variety of commands to perform simple data accession, as well as more complex choices involving multiple columns and rows. We even made a mistake in the data that we accessed - and, in the process, learned that we can use the programmatic record to reproduce the steps before we made our mistake to get our data back.
We’ve now learned a bit about how to read in data and access data in using R. This chapter will guide you through some common operations that researchers often want to do to with data using R. We will then take a step back and discuss how to use common programming conventions, like loops and lists to make automating boring tasks easier.
After finishing this chapter, you will usderstand:
One common task many researchers do with their data is break it into smaller chunks, perhaps by treatment, to look at effects in that group. We’re not working with experiemental data here, but we can certainly split our data up. Ants are known in the literature as the Formicids. This is a family. There are many subfamilies of ants. We might be interested in seeing if we have equal samples of each subfamily.
We can group our data by subfamily like so:
Doing this creates a groupby object, or a list of chunks of our data, identified by the subfamily to which they belong.
## subfamily n
## 1 Agroecomyrmecinae 3
## 2 Amblyoponinae 9
## 3 Aneuretinae 12
## 4 Armaniinae 15
## 5 Brownimeciinae 1
## 6 Dolichoderinae 129
## 7 Dorylinae 11
## 8 Ectatomminae 13
## 9 Formiciinae 3
## 10 Formicinae 211
They are not. The samples of Formicinae and Dolichoderinae, for example, are much bigger than the rest. These are also the most specious groups of ants. Could the disparity in the sample be due to group speciousity? I’ve made a secodn spreadsheet with a rough guess at the species richness of each of the ant groups in this data set. Let’s load it:
sub_r <- read_csv('data/subfamilyRichness.csv')
## Rows: 10 Columns: 2
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): subfamily
## dbl (1): size
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
You’ll notice we’ve added a new option to reading in a csv file - index_col. This allows us to specifiy which column we would like to be the index. Now we have two dataframes, one with our observed data and one with the number of species that exist in nature. To do mathematical operations using both pieces of data, we will combine them. We will do this using a merge, which combines two datasets on a given column.
In our case, we will merge sizes to sub_r. We will use the nice indices we just created as our join columns. This is specified by ‘left_index’, the index of the object before we call the merge function being set to true, and right_index, the index of the object after we call the merge being set to true. If we had called join with sub_r being first, it would be the left and sizes would be the right.
merged <- merge(subfamilies, sub_r)
The output of this is a new dataframe, with two columns: one from sizes, one from sub_r. We can now divide out our two columns to see if we have sampled some clades more because they are more speciose. If this were true, we would expect to see roughly the same proportion of sampling, but not the same number of samples. We will assign the sampling proportion to a new column called ‘proportion’.
## subfamily n size proportion
## 1 Agroecomyrmecinae 3 2 1.50000000
## 2 Amblyoponinae 9 147 0.06122449
## 3 Aneuretinae 12 12 1.00000000
## 4 Brownimeciinae 1 1 1.00000000
## 5 Dolichoderinae 129 970 0.13298969
## 6 Dorylinae 11 804 0.01368159
## 7 Ectatomminae 13 375 0.03466667
## 8 Formiciinae 3 8 0.37500000
## 9 Formicinae 211 400 0.52750000
Do these sizes look right? Your answer should be no. There might be some errors in this database.
###Challenge - Try some other mathematical operations. Subtract the columns! - How could you delete a column if you decided you didn’t want your mathematical output? (Hint: look at the drop function. Be aware some behaviors are a little odd.) - Think a little about data as read-only: where will you want to save these outputs?
## Recap
In this chapter, we have looked at subsetting our data. We used the groupby command to make data subsets along a biologically interesting axis. We then used loops and lists to process data and make the process of managing datasets easier. Finally, we joined together multiple data objects and used them to perform mathematical operations. In the next chapter, we will build on the concepts seen here to further automate data management.
So far, we’ve covered the nuts and bolts of programming. We’ve learned a little bit about how to control R, and it’s time to think about controlling its environment. As you program more and more, you’ll need to have maintainable pieces of code, and some framework to maintain them.
In this chapter, we’ll cover two core concepts. We will discuss scripts, which may contain one or more functions and the comments needed to interpret and use them. And lastly, we will discuss revision management, the practice of using a defined system to track how and when changes are made to your code.
By the end of this chapter, you will be able to:
Now we have an actual, working script. This is fantastic - we can send this to a coworker and have them reproduce our analyses. We can use it again later to recall exactly what we did!
Until our coworker emails it back and says it doesn’t work, and we open it to find a bunch of changes. Until we accidentally delete a piece of code, close our laptop, and go on vacation. Until our laptop dies.
Enter revision management, for tracking changes to our code (or any other text file - this tutorial was written with revision management). As you’re aware, we will be using git for revision management this semester. What we’re going to do now is a really swift primer on some of the basic functionality of git and its web interface, GitHub.
First, we’ll do some brief setup:
git config --global user.name "Your Name"
$ git config --global user.email "you@youremail"
When you do the setup, use the email address you set up GitHub with. That way, GitHub will know the commits are from you and won’t reject them (I have added you as collaborators on my project).
I really want you to protect the script we just wrote together. First, add your initials to the name of your script so I know whose is whose. Mine would be first_script_amw.py. Now, in the Spring2017 directory, type:
git add first_script_yourinitials.py
This command lets git know that we’re interested in tracking any changes made to this script. Next, we want to commit the script. Committing takes a snapshot of the script, preserving it as it existed in that moment in time. People differ on how often to commit. Some people commit frequently, some people only commit when they are done for the day.
git commit
This will now ask you for a short message describing what is being committed. You could say something like ‘adding ant data parsing script’ or ‘initial draft of script’. Try for something informative.
Now, we push to the internet:
git push
This may ask you for your username and password, if you cloned the repository over HTTPS. Once this has completed, you should be able to go to the website for the repository and look at your script!
You might be wondering now where git is storing your log of revisions. If you go up one level like so:
cd ..
and list hidden files:
ls -a
you will see a folder called .git. This stores all your checkpoints and snapshots.
We’ll cover more complex Git functionality in the future as we do more work.
Challenge
Try to find a tpyo to fix in the lessons. Fix it, add the file in git, commit it and push it.