-1

I have two dataframes. One has plot code and species code the other has species code and species name. I want to be able to replace the species code in dataframe 1 with the species name as given in dataframe 2.

Dataframe 1: plot_data

        Plot.code   Species.code
    1   plot01  sp01
    2   plot01  sp02
    3   plot01  sp05
    4   plot02  sp04
    5   plot02  sp01
    6   plot02  sp03
    7   plot02  sp04
    8   plot03  sp02
    9   plot03  sp05
    10  plot03  sp03

Dataframe 2: species_info

    species.code    species.name
1   sp01    species 01
2   sp02    species 02
3   sp03    species 03
4   sp04    species 04
5   sp05    species 05
  • 2
    This is a straight-forward merge. See `?merge` and search SO for `[r] merge`. For example, see http://stackoverflow.com/questions/1299871/how-to-join-data-frames-in-r-inner-outer-left-right/1300618#1300618 – Andrie Aug 28 '14 at 07:27

1 Answers1

0

Try:

df1$Species.name = df2[match(df1$Species.code, df2$species.code),]$species.name 
df1
   Plot.code Species.code name Species.name
1     plot01         sp01        species_01
2     plot01         sp02        species_02
3     plot01         sp05        species_05
4     plot02         sp04        species_04
5     plot02         sp01        species_01
6     plot02         sp03        species_03
7     plot02         sp04        species_04
8     plot03         sp02        species_02
9     plot03         sp05        species_05
10    plot03         sp03        species_03
rnso
  • 23,686
  • 25
  • 112
  • 234