R如何对正则表达式匹配执行数学运算

丹尼尔

我正在处理一个具有未检测到(具有不同的十进制分隔符),缺失值和测量值的数据框。我想用减号(<1变为1/2 = 0.5)后的一半值替换非检测值。

1)我将导入的数据框转换为字符。

df = data.frame(value=c("NA", "1.2", "<1.0", "<6,6"))

1)将因子转换为字符

  df <- data.frame(lapply(df, as.character), stringsAsFactors=FALSE)

2)我将所有的“,”替换为“”。

 pattern = ","
 grep(pattern, df, value = TRUE)
 df <- data.frame(lapply(df, function(x) {gsub(pattern=pattern, replacement=".", x, perl = TRUE)}))

3)我可以找到所有非检测器,并且可以用减号后的值替换它

 pattern = "(^<)(\\d+)"
 grep(pattern, df, value = TRUE)
 df <- data.frame(lapply(df, function(x) {gsub(pattern=pattern, replacement="\\d", x, perl = TRUE)}))

我找不到如何对匹配的替换字符串执行数学运算,如下所示:

 replacement = as.character((as.numeric("\\2"))/2)
威克多·斯特里比尤

您可以在步骤2中使用以下代码:

df$value = gsub(",", ".", df$value, fixed = TRUE)

它将用value列中的文字点替换文字逗号

然后,您可以使用该gsubfn来匹配和处理与正则表达式匹配的子字符串:

> library(gsubfn)
> df$value = gsubfn("^<(\\d*\\.?\\d+)", ~ as.numeric(x)/2, df$value)
> df
  value
1    NA
2   1.2
3  0.5
4  3.3

在这里,^<(\\d*\\.?\\d+)<在字符串的开头匹配,并且\\d*\\.?\\d+模式将匹配并将任何浮点/整数值捕获到组1中,并稍后在回调函数中将其除以2。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否可以在正则表达式中对变量值进行数学运算?

来自分类Dev

可以在正则表达式中对变量值进行数学运算吗?

来自分类Dev

PHP正则表达式用于数学运算

来自分类Dev

正则表达式以匹配所有字母数字和数学运算符

来自分类Dev

正则表达式以匹配所有字母数字和数学运算符

来自分类Dev

如何对大数执行数学运算

来自分类Dev

如何在此正则表达式中仅执行数字?

来自分类Dev

如何在python中对正则表达式匹配结果执行求和

来自分类Dev

替换非空的断言运算符“ !!” 执行数学表达式

来自分类Dev

用于正确数学运算的 Java 正则表达式

来自分类Dev

对来自2个数据框的匹配列执行数学运算:Python Pandas

来自分类Dev

在来自2个数据帧的匹配列上执行数学运算:Python Pandas

来自分类Dev

执行数学运算时出现XSLT错误

来自分类Dev

在kFirebaseServerValueTimestamp上执行数学运算

来自分类Dev

执行数学运算后得到错误答案

来自分类Dev

对熊猫数据框执行数学运算

来自分类Dev

执行数学运算时引发 NoneType 错误

来自分类Dev

获得对正则表达式匹配的真假回复?

来自分类Dev

如何使用泛型变量执行数学运算?

来自分类Dev

如何使用单位类型的值执行数学运算?

来自分类Dev

如何对列表的所有元素执行数学运算?

来自分类Dev

如何在Python 3中使用列表推导对矩阵执行数学运算?

来自分类Dev

在数据库中如何对表内容执行数学运算

来自分类Dev

如何使用单位类型的值执行数学运算?

来自分类Dev

如何在 PHP 中对十六进制字符串执行数学运算

来自分类Dev

如何使用 perl 或 awk 对文件中的数字执行数学运算?

来自分类Dev

如何对python字符串中的数字执行数学运算

来自分类Dev

java - 如何对具有逗号而不是小数的java中的数字执行数学运算?

来自分类Dev

如何在两个表之间执行数学运算

Related 相关文章

  1. 1

    是否可以在正则表达式中对变量值进行数学运算?

  2. 2

    可以在正则表达式中对变量值进行数学运算吗?

  3. 3

    PHP正则表达式用于数学运算

  4. 4

    正则表达式以匹配所有字母数字和数学运算符

  5. 5

    正则表达式以匹配所有字母数字和数学运算符

  6. 6

    如何对大数执行数学运算

  7. 7

    如何在此正则表达式中仅执行数字?

  8. 8

    如何在python中对正则表达式匹配结果执行求和

  9. 9

    替换非空的断言运算符“ !!” 执行数学表达式

  10. 10

    用于正确数学运算的 Java 正则表达式

  11. 11

    对来自2个数据框的匹配列执行数学运算:Python Pandas

  12. 12

    在来自2个数据帧的匹配列上执行数学运算:Python Pandas

  13. 13

    执行数学运算时出现XSLT错误

  14. 14

    在kFirebaseServerValueTimestamp上执行数学运算

  15. 15

    执行数学运算后得到错误答案

  16. 16

    对熊猫数据框执行数学运算

  17. 17

    执行数学运算时引发 NoneType 错误

  18. 18

    获得对正则表达式匹配的真假回复?

  19. 19

    如何使用泛型变量执行数学运算?

  20. 20

    如何使用单位类型的值执行数学运算?

  21. 21

    如何对列表的所有元素执行数学运算?

  22. 22

    如何在Python 3中使用列表推导对矩阵执行数学运算?

  23. 23

    在数据库中如何对表内容执行数学运算

  24. 24

    如何使用单位类型的值执行数学运算?

  25. 25

    如何在 PHP 中对十六进制字符串执行数学运算

  26. 26

    如何使用 perl 或 awk 对文件中的数字执行数学运算?

  27. 27

    如何对python字符串中的数字执行数学运算

  28. 28

    java - 如何对具有逗号而不是小数的java中的数字执行数学运算?

  29. 29

    如何在两个表之间执行数学运算

热门标签

归档