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

标签 r


我有这样的东西:

  #Change deg
  x1 <- gsub("&deg;","°",x1)

  #Change ohm
  x1 <- gsub("&ohm;","Ω",x1)

  #change divide
  x1 <- gsub("&divide;","÷",x1)

  #change minus
  x1 <- gsub("&minus;","-",x1)

但是有很多值,我不想将所有内容都写在 r 脚本中。我有一张 table ,看起来像这样

&newtonm;   N m 
&reg;   ®
&deg;   °
&minus; -

如何查找表格并在 R 脚本中进行更改?

最佳答案

以下是如何使用 Reduce() 来完成此操作:

lookup <- data.frame(pat=c('&newtonm;','&reg;','&deg;','&minus;'),rep=c('N m','®','°','-'),stringsAsFactors=F);
lookup;
##         pat rep
## 1 &newtonm; N m
## 2     &reg;   ®
## 3     &deg;   °
## 4   &minus;   -
entityrep <- function(x) Reduce(function(x,r) gsub(lookup$pat[r],lookup$rep[r],x,fixed=T),seq_len(nrow(lookup)),x);
x1 <- 'test &newtonm; &reg; &deg; &minus; test';
entityrep(x1);
## [1] "test N m ® ° - test"

关于使用 R 中的查找表替换字符向量中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31828218/

相关文章:

regex - 根据r中的模式提取部分字符串

r - 将数据标准化为 100%,但总值小于 1.00

r - ggplot2:将标签标记为以 e 为底的指数

r - 计算一个月内的日期观察

c - 如何将 unsigned int 转换为 uint64

r - 将值添加到 rCharts hPlot 工具提示

r - 计算 R 中的迭代以计算人口增长率

r - 在 R 中生成列表的所有不同排列

r - 每组两个日期之间的平均时间差

r - ggplot2:在绘图和图例中用白色填充的线+点?