0

我使用 sapply 编写了一个函数,该函数获取数据框列的元素并重命名它们。我使用查找列表和 sapply 执行此操作。奇怪的是,我把东西放在查找列表中的顺序会改变输出。

这是我的例子:

this.frame <- cbind(c("AAA", "BBB", "CCC", "AAA", "BBB", "AAA"), c(1,2,3,4,1,3))
this.frame <- as.data.frame(this.frame)
letter.switch <- c("AAA" = "AB", "BBB" = "BC", "CCC" = "CD")
sapply(this.frame[, 1], function(var) {
    letter.switch[var][[1]]
})
letter.switch <- c("BBB" = "BC", "AAA" = "AB", "CCC" = "CD")
sapply(this.frame[, 1], function(var) {
    letter.switch[var][[1]]
})

似乎它将按字母顺序排列的向量与查找列表进行比较,并且每个元素的相应元素都匹配,但我不知道为什么。任何人都可以阐明这个问题并帮助我找到解决方案吗?

4

0 回答 0