r - 如何将 R 向量中每个元素的长度传递给 substr 函数?
问题描述
我有以下向量。
v <- c('X100kmph','X95kmph', 'X90kmph', 'X85kmph', 'X80kmph',
'X75kmph','X70kmph','X65kmph','X60kmph','X55kmph','X50kmph',
'X45kmph','X40kmph','X35kmph','X30kmph','X25kmph','X20kmph',
'X15kmph','X10kmph')
我想提取代表速度的数字。它们都从第二个位置开始,但在不同的位置结束,所以我需要(length of element i) - 4
作为结束位置。
以下不适用于length(v)
返回向量的长度而不是每个元素的长度。
vnum <- substr(v, 2, length(v)-4)
也试过lengths()
了,但不起作用。
如何将每个元素的长度提供给substr
?
上下文:
v
实际上代表一个Speed
小标题中的一个字符列(称为 ),我试图将其突变为相应的数字列。
mytibble <- mytibble %>%
mutate(Speed = as.numeric(substr(Speed, 2, length(Speed) - 4)))
解决方案
按照tmfmnk 的建议使用nchar()
而不是解决问题!length()
vnum <- substr(v, 2, nchar(v)-4)
推荐阅读
- excel - 从工作簿导入数据并更改范围
- excel - 禁用在 Power Query 刷新时选择查询表
- .net - 是否可以在只有 4.6 .Net Framework 的系统上使用 .Net Framework 4.8 启动应用程序?
- sql - 列“l.Session_Device”必须出现在 GROUP BY 子句中或在聚合函数中使用
- python-3.x - 如何将空列添加到数据框中?- 跟进
- powershell - 激活虚拟环境在 powershell 中引发错误
- firebase - 使用其他网站的凭据创建 Firebase 身份验证
- python - python打包和GitHub的规范工作流程
- reactjs - VSCode React JSX 语法高亮显示损坏
- javascript - FlatList在本机反应中返回空白屏幕