R 将数据帧中的特殊字符替换为正常变量数据帧为空
我是R新手,希望替换数据帧中的所有特殊字符 我通过stack查找了它,它部分工作。所有特殊字符均替换为正常对应字符,例如R 将数据帧中的特殊字符替换为正常变量数据帧为空,r,R,我是R新手,希望替换数据帧中的所有特殊字符 我通过stack查找了它,它部分工作。所有特殊字符均替换为正常对应字符,例如ä-->a。我遇到的问题是数据帧不再存在 替换功能 plain_text = function(x) { old1 <- "šžþàáâãäåçèéêëìíîïðñòóôõöùúûüý" new1 <- "szyaaaaaaceeeeiiiidnooooouuuuy" x = apply(x,2,function(
ä-->a
。我遇到的问题是数据帧不再存在
替换功能
plain_text = function(x) {
old1 <- "šžþàáâãäåçèéêëìíîïðñòóôõöùúûüý"
new1 <- "szyaaaaaaceeeeiiiidnooooouuuuy"
x = apply(x,2,function(x) gsub(old1,new1,x))
}
V1
1 c("Foo","Bar","Foo","Bar")
2 c("Foo","Bar","Foo","Bar")
3 c("fixed","fixed","not fixed","fixed")
数据帧
plain_text = function(x) {
old1 <- "šžþàáâãäåçèéêëìíîïðñòóôõöùúûüý"
new1 <- "szyaaaaaaceeeeiiiidnooooouuuuy"
x = apply(x,2,function(x) gsub(old1,new1,x))
}
V1
1 c("Foo","Bar","Foo","Bar")
2 c("Foo","Bar","Foo","Bar")
3 c("fixed","fixed","not fixed","fixed")
不要使用
apply
,它可能(在这里)破坏数据帧。在这种情况下,可以使用chartr
。我提醒您,您的函数应该考虑列是否为字符
(因为在数字列上固定字母会破坏它)
纯文本=函数(x){
old1感谢您的详细解释。它奏效了。我必须注意,我忘了提到数据帧完全是由字符串组成的,没有数字值。但最好记住这一点。更安全的编程。它总是字符
,直到它不是:-)运行该测试并将其子集到lappy
中是非常简单的我建议值得一试,以防止在任何数据管道中引入重大缺陷。很高兴它能起作用。