R 将创建的对象重命名为

R 将创建的对象重命名为,r,dplyr,R,Dplyr,我想重命名一个特定的名称。例如,要进行测试。看起来这么简单,但我找不到有效的方法。重命名函数的两个级别都不起作用 library(vegan) data(dune) dune.spec<-data.frame(Species=colnames(dune)) species<-as.character(dune.spec$Species) levels(species)[levels(species)=="Achimill"] <- "test" library(dplyr)

我想重命名一个特定的名称。例如,要进行测试。看起来这么简单,但我找不到有效的方法。重命名函数的两个级别都不起作用

library(vegan)
data(dune)
dune.spec<-data.frame(Species=colnames(dune))
species<-as.character(dune.spec$Species)


levels(species)[levels(species)=="Achimill"] <- "test"
library(dplyr)
species<-rename(species, replace = c("Achimill" = "test"))
物种就是性格,这就是为什么你们不能让水平发挥作用,因为它是按因素运作的

使用可用于character的方法(如base::gsub)替换所需的方式

或者,由于您可能实际上正在尝试使用因子,请使用适当的方法对因子进行操作

species = gsub("Achimill", "test", species)

是的。谢谢
class(species)
#[1] "character"
species = gsub("Achimill", "test", species)
dune.spec$Species = factor(dune.spec$Species, labels = gsub("Achimill", "test", levels(dune.spec$Species)))
dune.spec$Species
# [1] test     Agrostol Airaprae Alopgeni Anthodor Bellpere Bromhord Chenalbu
# [9] Cirsarve Comapalu Eleopalu Elymrepe Empenigr Hyporadi Juncarti Juncbufo
#[17] Lolipere Planlanc Poaprat  Poatriv  Ranuflam Rumeacet Sagiproc Salirepe
#[25] Scorautu Trifprat Trifrepe Vicilath Bracruta Callcusp
#30 Levels: test Agrostol Airaprae Alopgeni Anthodor Bellpere ... Vicilath