私はこのようになりますnew_sgsという名前の文字列のデータフレームを持ってからの値でデータフレームの1列内の部分文字列を置き換えます。私は列の文字列に「02」を置き換えたい同じ行の別の列
SG.Name RegionCode
1 AW02PASGA001 01
2 AW02PASGA002 01
3 AW02PASGA003 01
4 AW02PASGA004 01
5 AW02PASGA005 01
6 AW02PASGA006 01
...
1を列2の文字列で置き換えます。これは、行1のために仕事をしていません:
new_sgs$SG.Name[1] <- gsub("AW02", paste0("AW", new_sgs$RegionCode[1]), new_sgs$SG.Name[1])
が適用されます関数のいずれかを使用して、すべての行にこの変更をする方法はありますか?私は
sapply(new_sgs, function(x) gsub("AW02", paste0("AW", new_sgs$RegionCode[x]), new_sgs$SG.Name[x]))
を試してみたが、これは私が得るものです:
SG.Name RegionCode
[1,] NA NA
[2,] NA NA
[3,] NA NA
[4,] NA NA
[5,] NA NA
[6,] NA NA
...
Warning messages:
1: In gsub("AW02", paste0("AW", test$RegionCode[x]), test$SG.Name[x]) :
argument 'replacement' has length > 1 and only the first element will be used
2: In gsub("AW02", paste0("AW", test$RegionCode[x]), test$SG.Name[x]) :
argument 'replacement' has length > 1 and only the first element will be used
ありがとう!
ルーク
の可能な重複[R:GSUB、パターン=ベクトルと交換=ベクトル(http://stackoverflow.com/questions/19424709/r-gsub-pattern-vector-and-replacement以下の例を参照-vector) – aosmith