将多个响应重新编码为R中的一个

时间:2011-10-14 17:29:27

标签: r

我想搜索其中包含“3”的任何内容,并将其替换为“3D”。 我玩gsub和stringr,但似乎无法正确使用正则表达式。任何帮助都会很棒!我在这方面花了太长时间。

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

2 个答案:

答案 0 :(得分: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"

答案 1 :(得分:1)

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

虽然你正在寻找的东西可以解决一个特定的问题,但在R中找到所有这些混乱的东西的一般问题在R中是相当繁琐的。虽然有专门为这样做而设计的工具。您可能需要查看Google Refine