文字列内の文字を、最初に文字でサンプリングして別の文字に置き換えたいのですが。インデックスの代わりに文字を出力するのに問題があります。
サンプルデータには、「try」というラベルが付いています。
L 0.970223325 - 0.019851117 X 0.007444169
K 0.962779156 - 0.027295285 Q 0.004962779
P 0.972704715 - 0.027295285 NA 0
C 0.970223325 - 0.027295285 L 0.00248139
V 0.970223325 - 0.027295285 T 0.00248139
重み付き確率を使用して、特定の行の文字をサンプリングしようとしています。
samp <- function(row) {
sample(try[row,seq(1, length(try), 2)], 1, prob = try[row,seq(2, length(try), 2)])
}
次に、選択した文字を使用して、特定の文字列内の位置を置き換えます。
subchar <- function(string, pos, new) {
paste(substr(string, 1, pos-1), new , substr(string, pos+1, nchar(string)), sep='')
}
私の質問は-もし私がそうするなら、例えば
> subchar("KLMN", 3, samp(4))
[1] "KL1N"
でも「KLCN」と読んでもらいたいです。As.character(samp(4))も機能しません。インデックスの代わりに文字を印刷するにはどうすればよいですか?