【发布时间】:2022-11-30 21:28:14
【问题描述】:
我正在尝试替换列表中的值单词, 在列表指定的索引上职位,通过对存在于名为字母.
这是我的列表的示例:
word <- c("A","E","C","A","R","O","P")
positions <- c(1,5,3,7)
letters <- c("A","B","C","D","E","F")
一个重要的细节是单词[位置]采样后不应保持不变,这可能是由于中的值重叠而发生的字母和单词
我用来执行此操作的当前代码是:
for (i in 1:length(positions)){
temp <- word[[positions[i]]]
word[[positions[i]]] <- sample(letters, 1)
while (word[[positions[i]]] == temp) {
word[[positions[i]]] <- sample(letters, 1)
}
}
虽然这行得通,但我意识到它的效率极低,因为我更改列表中值的顺序并不重要。我一直在尝试使用“应用”函数族来解决这个问题,但我无法找到解决方案。
非常感谢您的关注!
【问题讨论】:
标签: r list for-loop apply lapply