1
我写了一个函数来加入字符串。它包括将非英文字符转换为英文字符和其他操作。字符串不改变,但改变了masquareding
trim <- function (x) gsub("^\\s+|\\s+$", "", x)
library(qdapRegex)
wrangle_string <- function(s) {
# 1 character substitutions
old1 <- "šžþàáâãäåçèéêëìíîïðñòóôõöùúûüýşğçıöüŞĞÇİÖÜ"
new1 <- "szyaaaaaaceeeeiiiidnooooouuuuysgciouSGCIOU"
s1 <- chartr(old1, new1, s)
# 2 character substitutions
old2 <- c("œ", "ß", "æ", "ø")
new2 <- c("oe", "ss", "ae", "oe")
s2 <- s1
for(i in seq_along(old2)) s2 <- gsub(old2[i], new2[i], s2, fixed = TRUE)
s2
#diger donusumlar
s2= gsub('[[:punct:] ]+',' ',s2)
s2=tolower(s2)
s2=trim(s2)
s2=rm_white(s2)
return(s2)
}
这是我最小的数据复制:
outgoing=structure(list(source = structure(c(1L, 1L, 1L), .Label = "YÖNETIM KURULU BASKANLIGI", class = "factor"),
target = structure(c(2L, 1L, 3L), .Label = c("x Yayincilik Reklam ve Organizasyon Hizmetleri",
"Suat", "Yavuz"), class = "factor")), .Names = c("source",
"target"), row.names = c(NA, 3L), class = "data.frame")
的事情是,当我调用该函数直接它的工作原理。
wrangle_string("YÖNETİM KURULU BAŞKANLIĞI")
结果是:
"yonetim kurulu baskanligi"
当我使用它apply
功能,它看起来像一个工作数据帧时,我与View(outgoing)
功能检查也没有问题。
outgoing$source=as.vector(sapply(outgoing$source,wrangle_string))
然而,当我检查细胞与outgoing[1,1]
我得到这个:
"yonetİm kurulu başkanliği"
我怎样才能解决这个问题呢?
东西看起来不正确,请尝试创建一个我们可以运行并看到相同结果的[可重现示例](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)。你确定“来源”是第一列吗? – MrFlick
我将最小数据添加到了复制中。 –
我无法用您提供的数据重现问题。如预期的那样,即将离任的[1,1]'返回''yonetim kurulu baskanligi''。 – MrFlick