我想从不需要的字符中清除表格。该表可以在这里免费下载: https://www.aggdata.com/free/germany-postal-codes
它包含所有德国邮政编码,并且由于在德国有一些特殊字符,如ü,ö,ä或ß,我需要将它们交换为其他符号。 现在假设我想用"ss"替换所有"ß"。 我使用了这段代码,从Stack Overflow中的不同帖子中收集。我的代码如下所示:
postal <- read.csv("~/Downloads/de_postal_codes.csv")
postal <- as.data.frame(sapply(postal,gsub,pattern="<df>",replacement="ss"))
当我尝试替换其他字符串进行测试时,例如pattern = "Cot"
代码有效,但如果它包含<>
符号则无效。这里有什么问题? 我在MacOS 10.13.4上的RStudio 1.0.136中使用R 3.3.3。
这似乎有效。如果将encoding = "UTF-8"
放入read.table
命令,则会看到<df>
返回为xdf
。我对这个领域了解不多,但尝试使用原始编码似乎有效。希望这有帮助
postal <- read.table("~/Downloads/de_postal_codes.csv", sep = ",", header = TRUE,
stringsAsFactors = FALSE)
postal$Place.Name[4]
postal <- as.data.frame(
sapply(postal, function(x){
gsub(pattern="xdf", replacement="ss", x=x)
})
)
postal$Place.Name[4]
编辑:另外,我不认为你sapply
在做这个把戏。gsub
中的x
参数不是执行?gsub
时的第一个变量。
edit2:我正在使用Windows和3.5.0 R版本