【发布时间】:2020-04-07 18:06:16
【问题描述】:
我有以下向量。
v <- c('X100kmph','X95kmph', 'X90kmph', 'X85kmph', 'X80kmph',
'X75kmph','X70kmph','X65kmph','X60kmph','X55kmph','X50kmph',
'X45kmph','X40kmph','X35kmph','X30kmph','X25kmph','X20kmph',
'X15kmph','X10kmph')
我想提取代表速度的数字。它们都从第 2 个位置开始,但在不同的位置结束,所以我需要 (length of element i) - 4 作为结束位置。
由于length(v) 返回向量的长度而不是每个元素的长度,因此以下内容不起作用。
vnum <- substr(v, 2, length(v)-4)
也试过lengths(),但没用。
如何将每个元素的长度提供给substr?
上下文:
mytibble <- mytibble %>%
mutate(Speed = as.numeric(substr(Speed, 2, length(Speed) - 4)))
【问题讨论】:
-
您需要使用
nchar()而不是length()。substr(v, 2, nchar(v)-4). -
太棒了。那行得通。谢谢。