2011-10-14 33 views
1

我想搜索其中包含“3”的任何内容,并将其替换为“3D”。 我玩过gsub和stringr,但似乎无法获得正确的正则表达式。任何帮助将是伟大的!我在这方面花了太多时间。将多个响应重新编码为R中的一个

type_3d <- as.matrix(c("3D","3D","3D Column","3D Plot","3D Scatter","3D Plot","3D Scatter","3d Column")) 

回答

1

Andrie对你的问题有一个很好的答案。

虽然您正在寻找可以解决特定问题,但在数据中发现所有这些混乱事情的一般问题在R中相当单调乏味。有些工具专门为此而设计。你可能想看看Google Refine

+0

谢谢。我会记住这一点。这似乎是一个有用的事情知道该怎么做。不过谢谢你的回应。我很感激。 – crock1255

2

我不知道我理解正确的话,因为这你描述的是一个非常简单的使用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" 
+0

非常感谢!我无法正确地得到正则表达式命令。谢谢! – crock1255