我想搜索其中包含“3”的任何内容,并将其替换为“3D”。 我玩过gsub和stringr,但似乎无法获得正确的正则表达式。任何帮助将是伟大的!我在这方面花了太多时间。将多个响应重新编码为R中的一个
type_3d <- as.matrix(c("3D","3D","3D Column","3D Plot","3D Scatter","3D Plot","3D Scatter","3d Column"))
我想搜索其中包含“3”的任何内容,并将其替换为“3D”。 我玩过gsub和stringr,但似乎无法获得正确的正则表达式。任何帮助将是伟大的!我在这方面花了太多时间。将多个响应重新编码为R中的一个
type_3d <- as.matrix(c("3D","3D","3D Column","3D Plot","3D Scatter","3D Plot","3D Scatter","3d Column"))
Andrie对你的问题有一个很好的答案。
虽然您正在寻找可以解决特定问题,但在数据中发现所有这些混乱事情的一般问题在R中相当单调乏味。有些工具专门为此而设计。你可能想看看Google Refine。
我不知道我理解正确的话,因为这你描述的是一个非常简单的使用gsub
:
gsub("3", "3D", type_3d)
[,1]
[1,] "3DD"
[2,] "3DD"
[3,] "3DD Column"
[4,] "3DD Plot"
[5,] "3DD Scatter"
[6,] "3DD Plot"
[7,] "3DD Scatter"
[8,] "3Dd Column"
或者,也许你的意思是:
> gsub(".*3.*", "3D", c(type_3d, "Some other text without a three"))
[1] "3D" "3D"
[3] "3D" "3D"
[5] "3D" "3D"
[7] "3D" "3D"
[9] "Some other text without a three"
非常感谢!我无法正确地得到正则表达式命令。谢谢! – crock1255
谢谢。我会记住这一点。这似乎是一个有用的事情知道该怎么做。不过谢谢你的回应。我很感激。 – crock1255