附加了字符的整数值

时间:2014-02-07 16:17:05

标签: r

我的数据集包含5列,第1列是RegionID,其类是因子类,模式是整数。但是RegionID列中的少数数字会附加字符,如(670HH, 670XX, XX457)等 我的任务是搜索这些数字并用0替换这些字符。

grep()sub()只能用于字符串和字符向量。所以我试图将此列转换为字符向量。但是当我将其转换为字符向量时,它的实际值正​​在发生变化。

您能否建议我一个合适的解决方案?

2 个答案:

答案 0 :(得分:0)

您可以使用as.character()将列转换为字符。然后,您可以使用sub()将字母更改为0' s。然后,您可以使用as.numeric()转换为数字,但请注意,前导0将不再显示。

答案 1 :(得分:0)

gsub(...)确实可以解决因素。

str  <- c("12345", "670HH", "670XX", "XX457")
fstr <- facor(str)
fstr
# [1] 12345 670HH 670XX XX457
# Levels: 12345 670HH 670XX XX457

gsub('[A-Z]',"0",fstr)
# [1] "12345" "67000" "67000" "00457"

正如已经指出的那样,你可以使用as.numeric(...)将它们转换为数字,但是你会丢失前导零。