如何从R中的向量中删除某些字符

时间:2017-09-24 04:40:24

标签: r

我有一个向量,例如c(21,34,"99*",56,"90*", "45*")。我需要使用R将数据转换为不带额外*的向量来清理数据。此示例中的结果应为c(21,34,99,56,90,45)

2 个答案:

答案 0 :(得分:2)

我们可以使用Rating_CHOICES = ( (1, 'Poor'), (2, 'Average'), (3, 'Good'), (4, 'Very Good'), (5, 'Excellent') ) is_favorite = models.IntegerField(choices=Rating_CHOICES, default=1) 通过指定sub来删除*,因为它是表示零个或多个字符的元字符。除了fixed = TRUE之外,它还可以转义(fixed = TRUE)或放在方括号(\\*)中以获得[*]

的字面含义
*

方便的功能是来自as.numeric( sub("*", "", v1, fixed = TRUE)) #[1] 21 34 99 56 90 45

parse_number
readr

数据

readr::parse_number(v1)
#[1] 21 34 99 56 90 45

答案 1 :(得分:1)

你可以使用方法gsub。

a =c(21,34,"99*",56,"90*", "45*") 
gsub("\\*","",a)


# result [1] "21" "34" "99" "56" "90" "45"