我想通过首先对字符进行采样来用另一个字符替换字符串中的一个字符。我无法让它打印出字符而不是索引。
示例数据,标记为“尝试”:
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)) 也不起作用。如何让它打印出字符而不是索引?