r - 有没有办法从 R 中的字符串间隔值中获取最小值或最大值?
问题描述
我得到一个包含这些字符串价格区间的向量 x
x <- c("$100-$150","$90-$120","$30-$50")
我将如何编写一个函数来返回一个包含数字形式的每个间隔的最小值的向量?
x <- c(100,90,30)
另外,我将如何编写一个执行相同操作但返回最大值的函数?
解决方案
您可以使用strcapture
from base R 来获得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
是我们正在读取的对象- 原型形式被定义为
data.frame
具有两列,名为“min”和“max”,每列包含整数值。
推荐阅读
- c++ - 如何在 C++ 中创建二维数组
- scorm - 我可以通知两个 LMS' 已完成 LTI 工具提供商的课程吗?
- c# - 如何使用我的机器人将角色自动分配给新成员?
- r - RStudio 状态文件不存在
- node.js - 尝试在 Heroku 上安装 FFMPEG
- c# - 如何从 C# 在 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\ 下创建注册表项
- python - 使用子构造函数覆盖多态超类中的方法
- c# - 添加迁移时出错 - 对象引用未设置为对象的实例
- c# - 尽管类/runtimetpye 匹配,但分配失败
- docker - 使用默认管道在 gitlab.com 中构建失败