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