替换以句点开头的单词
Replace words that start with a period
我正在尝试修复存在一些小数输入错误的数据集。例如,一些条目被键入为“.15”而不是“0.15”。目前此列是 chr,但稍后我需要将其转换为数字。
我正在尝试 select 所有 "words" 以句点“.”开头的人。并将句点替换为“0”。但似乎用于锚定字符串开头的“^”与句点不兼容。
我试过:
dataIMN$precip <- str_replace (dataIMN$precip, "^.", "0.")
但它会在所有条目的开头放置一个 0,包括正确键入的条目(不以句点开头的条目)。
如果您需要按照您所说的进行操作,方括号 [] 是 'find exact' 的正则表达式,或者您可以使用 '\\' 转义字符,例如句点:
选项 1:
gsub("^[.]","0.",".54")
[1] "0.54"
选项 2:
gsub("^\.","0.",".54")
[1] "0.54"
否则as.numeric应该也会自动处理
我正在尝试修复存在一些小数输入错误的数据集。例如,一些条目被键入为“.15”而不是“0.15”。目前此列是 chr,但稍后我需要将其转换为数字。
我正在尝试 select 所有 "words" 以句点“.”开头的人。并将句点替换为“0”。但似乎用于锚定字符串开头的“^”与句点不兼容。
我试过:
dataIMN$precip <- str_replace (dataIMN$precip, "^.", "0.")
但它会在所有条目的开头放置一个 0,包括正确键入的条目(不以句点开头的条目)。
如果您需要按照您所说的进行操作,方括号 [] 是 'find exact' 的正则表达式,或者您可以使用 '\\' 转义字符,例如句点:
选项 1:
gsub("^[.]","0.",".54")
[1] "0.54"
选项 2:
gsub("^\.","0.",".54")
[1] "0.54"
否则as.numeric应该也会自动处理