Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建一个新变量,在R中现有变量的元素之后重命名其元素_R_Mutate - Fatal编程技术网

创建一个新变量,在R中现有变量的元素之后重命名其元素

创建一个新变量,在R中现有变量的元素之后重命名其元素,r,mutate,R,Mutate,我想创建一个新变量,其中的元素以现有变量的元素命名,但是使用str_replace_all,它只适用于第一种情况。。。 多谢各位 df<-data.frame(A=c("HotWater", "ColdWater", "HotRock", "ColdRock", "ColdRock","ColdRock")) df$A<-as.factor(df$A) old<

我想创建一个新变量,其中的元素以现有变量的元素命名,但是使用str_replace_all,它只适用于第一种情况。。。 多谢各位

df<-data.frame(A=c("HotWater", "ColdWater", "HotRock", "ColdRock", "ColdRock","ColdRock"))
df$A<-as.factor(df$A)
old<-c("HotWater", "ColdWater", "HotRock", "ColdRock")

#HotWater= hot fluid, ColdWater=cold fluid , HotRock= hot solid, ColdRock = cold solid

#I need only HF for Hot Fluid, CF for Cold Fluid and so on...

new<-c("HF", "CF", "HS", "CS")

#I try to create a new variable with the correct labels

df$B<-str_replace_all(df$A,old, new)



尝试以下方法

代码

df$b <- mgsub::mgsub(as.character(df$A), 
             c("HotWater", "ColdWater", "HotRock", "ColdRock"), 
             c("HF", "CF", "HS", "CS"))
> df
          A  B
1  HotWater HF
2 ColdWater CF
3   HotRock HS
4  ColdRock CS
5  ColdRock CS
6  ColdRock CS

它很管用,谢谢!我的荣幸!如果你觉得答案有帮助,你可以投票表决。如果问题得到了回答,您也可以通过接受答案来表明这一点。
> df
          A  B
1  HotWater HF
2 ColdWater CF
3   HotRock HS
4  ColdRock CS
5  ColdRock CS
6  ColdRock CS