我得到一个包含这些字符串价格区间的向量 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/