如何删除 R 中“不知道”观测值中的撇号

How to remove the apostrophe in 'Don't Know' observations in R

提问人:Maddison Westcott 提问时间:10/20/2022 最后编辑:ProgmanMaddison Westcott 更新时间:10/20/2022 访问量:177

问:

我觉得我已经尝试了一切,但我仍然无法弄清楚如何删除“不知道”观察中的撇号。我想要的结果是让观察说“不知道”。

我已经尝试了这里提到的许多解决方案,但我仍然无法修复它。我有多个变量正在努力改变。代码总是运行,但它们实际上不会改变任何东西。

我试过:

1. thesis <-  as.data.frame(sapply(thesis, function(doaway) gsub("'", "", doaway)))
2. for(i in 1:ncol(thesis)){
  thesis[,i] <- gsub("'","",thesis[,i])
}
3. thesis$doaway[thesis $doaway== "Don\'t Know"] = "Dont Know"
4. thesis$doaway[thesis $doaway== "Don"\'"t Know"] = "Dont Know"
5. thesis$doaway[thesis $doaway== "Don'\''t Know"] = "Dont Know"

尽管如此,我还是无法在单个观察和整个数据层面上做到这一点。

R 重新编码 撇号

评论

3赞 Gregor Thomas 10/20/2022
你的撇号可能是一个“花哨的引号”或类似的东西。您可以尝试更通用的正则表达式解决方案,例如从字符串中删除所有标点符号。如果您需要更多帮助,请发布几行/列的示例数据,以便我们帮助找到问题,例如,前 3 列和 5 行。确保选择包含几个“不知道”条目的子集。dput()dput(thesis[1:5, 1:3])
0赞 Axeman 10/20/2022
gsub("'", "", "Don't Know")效果很好,所以我同意格雷戈尔的观点。您可以尝试直接从数据中复制粘贴它,而不是键入 ,因此它确实是正确的字符。'
0赞 Axeman 10/20/2022
您也可以删除所有不是字母数字字符或空格的内容,就像这里讨论的那样:stackoverflow.com/questions/43294454/...
1赞 Maddison Westcott 10/20/2022
@GregorThomas你是个天才,非常感谢你,这只是一个“花哨的引号”。

答:

1赞 Gregor Thomas 10/20/2022 #1

你的撇号可能是一个“花哨的引号”或类似的东西。您可以尝试更通用的正则表达式解决方案,例如从字符串中删除所有标点符号

gsub(pattern = '[[:punct:]]', replacement = '', doaway)

您也可以将花哨的引号(或整个“不知道”字符串及其花哨的引号)复制/粘贴到您的其他方法之一中。