R:gsub,模式=向量,替换=向量

湿脚

如标题所示,我尝试使用gsub,其中将向量用于“样式”和“替换”。目前,我有一个代码如下:

  names(x1) <- gsub("2110027599", "Inv1", names(x1)) #x1 is a data frame
  names(x1) <- gsub("2110025622", "Inv2", names(x1))
  names(x1) <- gsub("2110028045", "Inv3", names(x1))
  names(x1) <- gsub("2110034716", "Inv4", names(x1))
  names(x1) <- gsub("2110069349", "Inv5", names(x1))
  names(x1) <- gsub("2110023264", "Inv6", names(x1))

我希望做的是这样的:

  a <- c("2110027599","2110025622","2110028045","2110034716", "2110069349", "2110023264")
  b <- c("Inv1","Inv2","Inv3","Inv4","Inv5","Inv6")
  names(x1) <- gsub(a,b,names(x1))

我猜想某个地方有一个Apply函数可以做到这一点,但我不确定要使用哪个函数!

编辑:名称(x1)看起来像这样(还有更多列,但我将其省略了):

> names(x1)
  [1] "2110023264A.Ms.Amp"        "2110023264A.Ms.Vol"        "2110023264A.Ms.Watt"       "2110023264A1.Ms.Amp"      
  [5] "2110023264A2.Ms.Amp"       "2110023264A3.Ms.Amp"       "2110023264A4.Ms.Amp"       "2110023264A5.Ms.Amp"      
  [9] "2110023264B.Ms.Amp"        "2110023264B.Ms.Vol"        "2110023264B.Ms.Watt"       "2110023264B1.Ms.Amp"      
 [13] "2110023264Error"           "2110023264E-Total"         "2110023264GridMs.Hz"       "2110023264GridMs.PhV.phsA"
 [17] "2110023264GridMs.PhV.phsB" "2110023264GridMs.PhV.phsC" "2110023264GridMs.TotPFPrc" "2110023264Inv.TmpLimStt"  
 [21] "2110023264InvCtl.Stt"      "2110023264Mode"            "2110023264Mt.TotOpTmh"     "2110023264Mt.TotTmh"      
 [25] "2110023264Op.EvtCntUsr"    "2110023264Op.EvtNo"        "2110023264Op.GriSwStt"     "2110023264Op.TmsRmg"      
 [29] "2110023264Pac"             "2110023264PlntCtl.Stt"     "2110023264Serial Number"   "2110025622A.Ms.Amp"       
 [33] "2110025622A.Ms.Vol"        "2110025622A.Ms.Watt"       "2110025622A1.Ms.Amp"       "2110025622A2.Ms.Amp"      
 [37] "2110025622A3.Ms.Amp"       "2110025622A4.Ms.Amp"       "2110025622A5.Ms.Amp"       "2110025622B.Ms.Amp"       
 [41] "2110025622B.Ms.Vol"        "2110025622B.Ms.Watt"       "2110025622B1.Ms.Amp"       "2110025622Error"          
 [45] "2110025622E-Total"         "2110025622GridMs.Hz"       "2110025622GridMs.PhV.phsA" "2110025622GridMs.PhV.phsB"

我希望得到的是:

> names(x1)
  [1] "Inv6A.Ms.Amp"        "Inv6A.Ms.Vol"        "Inv6A.Ms.Watt"       "Inv6A1.Ms.Amp"       "Inv6A2.Ms.Amp"      
  [6] "Inv6A3.Ms.Amp"       "Inv6A4.Ms.Amp"       "Inv6A5.Ms.Amp"       "Inv6B.Ms.Amp"        "Inv6B.Ms.Vol"       
 [11] "Inv6B.Ms.Watt"       "Inv6B1.Ms.Amp"       "Inv6Error"           "Inv6E-Total"         "Inv6GridMs.Hz"      
 [16] "Inv6GridMs.PhV.phsA" "Inv6GridMs.PhV.phsB" "Inv6GridMs.PhV.phsC" "Inv6GridMs.TotPFPrc" "Inv6Inv.TmpLimStt"  
 [21] "Inv6InvCtl.Stt"      "Inv6Mode"            "Inv6Mt.TotOpTmh"     "Inv6Mt.TotTmh"       "Inv6Op.EvtCntUsr"   
 [26] "Inv6Op.EvtNo"        "Inv6Op.GriSwStt"     "Inv6Op.TmsRmg"       "Inv6Pac"             "Inv6PlntCtl.Stt"    
 [31] "Inv6Serial Number"   "Inv2A.Ms.Amp"        "Inv2A.Ms.Vol"        "Inv2A.Ms.Watt"       "Inv2A1.Ms.Amp"      
 [36] "Inv2A2.Ms.Amp"       "Inv2A3.Ms.Amp"       "Inv2A4.Ms.Amp"       "Inv2A5.Ms.Amp"       "Inv2B.Ms.Amp"       
 [41] "Inv2B.Ms.Vol"        "Inv2B.Ms.Watt"       "Inv2B1.Ms.Amp"       "Inv2Error"           "Inv2E-Total"        
 [46] "Inv2GridMs.Hz"       "Inv2GridMs.PhV.phsA" "Inv2GridMs.PhV.phsB" 
泰勒·林克

已经有很多解决方案,这里还有更多解决方案:

qdap软件包:

library(qdap)
names(x1) <- mgsub(a,b,names(x1))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用向量替换

来自分类Dev

R-替换向量列表中的元素

来自分类Dev

从向量匹配模式

来自分类Dev

r-替换向量中的元素组

来自分类Dev

R中的整数向量是数字向量吗?

来自分类Dev

用R中的向量替换列表

来自分类Dev

替换R中的字符串,给出模式向量和替换向量

来自分类Dev

向量基于向量的列替换-MATLAB

来自分类Dev

从r中的列表替换向量中的特定数字

来自分类Dev

R中向量的子向量之和

来自分类Dev

R中的元素向量和多个向量

来自分类Dev

使用mapply将向量中的模式替换为tm中向量的替换

来自分类Dev

R:用多个规则替换列/向量值的明智方法?

来自分类Dev

按模式匹配向量

来自分类Dev

R-替换向量列表中的元素

来自分类Dev

匹配向量中的模式

来自分类Dev

模式匹配向量

来自分类Dev

用R中的向量替换列表

来自分类Dev

替换R中的字符串,给出模式向量和替换向量

来自分类Dev

替换/修改逻辑向量中的值(模式匹配)

来自分类Dev

使用R中的查找表替换字符向量中的值

来自分类Dev

我们如何替换R中向量中的元素?

来自分类Dev

R向量运算,在模式之间插入值

来自分类Dev

使用mapply将向量中的模式替换为tm中向量的替换

来自分类Dev

用R中的另一个向量替换模式向量

来自分类Dev

替换R中向量中的多个值

来自分类Dev

替换 R 中向量中的值

来自分类Dev

用 R 中的数字替换向量中的字符元素

来自分类Dev

用 R 中的向量替换 data.frame 的某些值