我试图修复一个错误输入的十进制数错误的数据集。例如,某些条目被输入为" .15"而不是" 0.15"。目前这个列是chr但后来我需要将它转换为数字。
我试图选择所有这些"单词"从一段时间开始"。"并用" 0替换句号。"但似乎" ^"用于锚定字符串的开头并不能很好地处理句号。
我尝试过:
dataIMN$precip <- str_replace (dataIMN$precip, "^.", "0.")
但它在所有条目的开头加上0,包括正确输入的条目(那些不以句号开头的条目)。
答案 0 :(得分:1)
如果你需要按照你的说法去做,方括号[]是'find exact'的正则表达式,或者你可以使用'\\'来逃避一个字符,例如句点:
选项1:
gsub("^[.]","0.",".54")
[1] "0.54"
选项2:
gsub("^\\.","0.",".54")
[1] "0.54"
否则,as.numeric也应该自动处理。