我有一个有很多值的变量,它的一个值类似于'Blamo BSM258 Clem on/o‘,我想用'BSM’代替它。换句话说,我想用'BSM‘替换我的变量中包含'BSM’的所有值。
我试过用
sub("(BSM)", "BSM", data$variable)或
data$variable[grep("(BSM)", data$variable)]<-"BSM"但它不起作用。(它生成'NA‘值)
发布于 2015-06-29 21:02:22
为什么不简单地:
gsub('BSM', '"BSM"', 'Blamo BSM258 Clem on/o')发布于 2015-06-29 21:19:58
使用sub或gsub仅替换字符串中的模式,因此您只需将"BSM“替换为"BSM”,而不是整个字符串。但是第二个例子,使用grep应该可以。如果您要在字符串中查找"BSM“,则在grep命令中不需要将其括起来,只需传递data$variable[grep("BSM", data$variable)]<-"BSM"即可完成所有操作。
data的结构是什么?它是一个列表还是一个数据帧?如果它是一个列表,则$可能没有正确索引,这可能导致NA值。
https://stackoverflow.com/questions/31115752
复制相似问题