我想在一個向量中更改列中的一些變量的名稱,這些變量同時存在於列中。我知道我可以用數據集中的每個值來完成此操作,但這需要數小時。更改列中值的名稱R
我有這樣的數據集:
df=data.frame(species = c("yo.manhereisareallllllylongname",
"heydude.this.is.realllylong",
"sooooooo.long",
"what.whatshouldIdo",
"what.whatshouldIdo",
"shouldIstayorshouldIgo",
"sooooooo.long"),
site = c("site1","site2","site3","site4","site5","site6","site7"))
是這樣的:
species site
1 yo.manhereisareallllllylongname site1
2 heydude.this.is.realllylong site2
3 sooooooo.long site3
4 what.whatshouldIdo site4
5 what.whatshouldIdo site5
6 shouldIstayorshouldIgo site6
7 sooooooo.long site7
我要創建這個載體(在這裏你可以看到,我沒有在原始數據集重複的對象,它們是唯一的。):
short_names=c("ymrln","heydude","slong","wwsid", "sisosig")
這對應於此:
long_names=c("yo.manhereisareallllllylongname","heydude.this.is.realllylong","sooooooo.long","what.whatshouldIdo","shouldIstayorshouldIgo")
最終的結果是:
species site
1 ymrln site1
2 heydude site2
3 slong site3
4 wwsid site4
5 wwsid site5
6 sisosig site6
7 slong site7
你有一個快速的方法來做到這一點?這是一種數據集中的查找和替換功能,而不是在腳本中。
感謝,
一種標準方式:'short_names [match(df $ species,long_names)]' – Frank