我想在数据帧上使用带有sapply的函数gsub:
df_mod=as.data.frame(sapply(data_mod,gsub,pattern=data_mod$marq,replacement=""))
我的问题出在gsub函数的参数pattern
上。在我看过的所有示例中,它们都会将字符串传递给此参数,例如:pattern="string"
。对于我的情况,我想传递一个如上所述的变量:pattern=data_mod$marq
但我一直有这些警告会影响我的结果:
Warning messages:
1: In FUN(X[[i]], ...) :
argument 'pattern' has length > 1 and only the first element will be used
2: In FUN(X[[i]], ...) :
argument 'pattern' has length > 1 and only the first element will be used
3: In FUN(X[[i]], ...) :
argument 'pattern' has length > 1 and only the first element will be used
是否可以将变量传递给pattern
参数。如果是这样,它会给我一个完美的结果。
请帮帮我。
更新
按sapply
切换mapply
解决了问题:
df_mod=as.data.frame(mapply(gsub,data_mod$marq,"",data_mod$nom_det))