r - 有没有办法从 R 中的字符串间隔值中获取最小值或最大值?

标签 r string max min

我得到一个包含这些字符串价格区间的向量 x

x <- c("$100-$150","$90-$120","$30-$50")

我该如何编写一个函数来返回一个向量,其中包含每个区间的最小值(以数字形式表示)?

x <- c(100,90,30)

此外,我该如何编写一个函数来执行相同的操作但返回最大值?

最佳答案

您可以使用基于 R 的 strcapture 来获取具有间隔的最小值和最大值的 data.frame:

strcapture("\\$([[:digit:]]+)-\\$([[:digit:]]+)", x, 
           data.frame(min = integer(), max = integer()))
##   min max
## 1 100 150
## 2  90 120
## 3  30  50
  • 模式 ("\\$([[:digit:]]+)-\\$([[:digit:]]+)") 设置了两个捕获组数字。
  • x 是我们正在读取的对象
  • 原型(prototype)表单被定义为具有两列的 data.frame,名为“min”和“max”,每列包含整数值。

关于r - 有没有办法从 R 中的字符串间隔值中获取最小值或最大值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65190177/

相关文章:

r - 更改操作按钮的颜色

string - 如何从 Swift 中的字符串中删除 "\U0000fffc"?

python - 查找比两边的 w 元素值更高的列表元素

javascript - 从 JSON 对象返回最大值

r - R 中的 Levy Walk 模拟

r - 用于 r 中 AICc(Akaike 信息准则更正)的包

r - rstudio 中的knitr按钮

python - 通过在列表前面添加反斜杠来转义列表中的保留字符

string - 如何在elisp中将字符串居中?

MySQL - 使用行中字段的 MAX 或 GREATEST 值更新列(不包括 NULL)