在R中更改行名称的一部分

时间:2015-04-30 14:48:50

标签: r

我有一个贝类物种总丰度和重量值的数据框,估计有8个地点的多个年龄段的变异。 E.g。

        0               1        2       3    All

Site1.tot.num.est
Site1.var.num.est
Site1.tot.wt.est
Site1.var.wt.est
Site2.tot.num.est
Site2.var.num.est

我想保留网站名称,但将行名称的结尾更改为更合适的名称,例如Site1.Overall丰富,Site1。总体差异(丰度)等我不确定这是否可以简单地在R内完成,即如果可以将一行代码应用于行标题末尾的每个变体而不管站点是什么?

1 个答案:

答案 0 :(得分:0)

可能有帮助

indx <- grepl('var', v1)
v1[indx] <- paste0(sub('\\..*', '', v1[indx]), '.Overall_variance')
v1[!indx] <- paste0(sub('\\..*', '', v1[!indx]), '.Overall_abundance')
v1
#[1] "Site1.Overall_abundance" "Site1.Overall_variance" 
#[3] "Site1.Overall_abundance" "Site1.Overall_variance" 
#[5] "Site2.Overall_abundance" "Site2.Overall_variance" 

数据

v1 <- c('Site1.tot.num.est','Site1.var.num.est','Site1.tot.wt.est',
 'Site1.var.wt.est','Site2.tot.num.est','Site2.var.num.est')

注意:使用v1

更改rownames(yourdataset)