R 使用字典来关联某些特定值

R 使用字典来关联某些特定值,r,R,我有以下几条建议 list <- c("AB", "G", "H") 列表数据和字典 dictionary <- data.frame(From = LETTERS, To = LETTERS[c(2:length(LETTERS), 1)], stringsAsFactors = F) set.seed(1234) data <- LETTERS[sample(length(LETTERS), 10, replace = T

我有以下几条建议

list <- c("AB", "G", "H")

列表数据和字典

dictionary <- data.frame(From = LETTERS,
                         To = LETTERS[c(2:length(LETTERS), 1)], stringsAsFactors = F)
set.seed(1234)
data <- LETTERS[sample(length(LETTERS), 10, replace = T)]

您只需根据需要调整词典。

数据和词典

dictionary <- data.frame(From = LETTERS,
                         To = LETTERS[c(2:length(LETTERS), 1)], stringsAsFactors = F)
set.seed(1234)
data <- LETTERS[sample(length(LETTERS), 10, replace = T)]

您只需根据需要调整词典。

我使用函数
plyr::mapvalues
来完成此操作。该函数包含三个参数,用于替换的字符串,以及定义替换的两个向量
from
to

e、 g


我使用函数
plyr::mapvalues
来实现这一点。该函数包含三个参数,用于替换的字符串,以及定义替换的两个向量
from
to

e、 g


我切换到了较新的
dplyr
库,因此我将在这里添加另一个答案:

在交互式会话中,我将直接在
dplyr::recode
中输入替换项:

dplyr::recode(letters[1:3], "b"="x", "c"="y")
# [1] "a" "x" "y"
使用预定义词典,您必须使用
UQS
来取消对词典的引用,因为
dpylr
具有整洁的评估语义:

dict <- c("b"="x", "c"="y")
dict
# b   c 
# "x" "y" 
dplyr::recode(letters[1:3], UQS(dict))
# [1] "a" "x" "y"

dict我切换到了较新的
dplyr
库,因此我将在这里添加另一个答案:

在交互式会话中,我将直接在
dplyr::recode
中输入替换项:

dplyr::recode(letters[1:3], "b"="x", "c"="y")
# [1] "a" "x" "y"
使用预定义词典,您必须使用
UQS
来取消对词典的引用,因为
dpylr
具有整洁的评估语义:

dict <- c("b"="x", "c"="y")
dict
# b   c 
# "x" "y" 
dplyr::recode(letters[1:3], UQS(dict))
# [1] "a" "x" "y"

dict预期的替换输出是什么?这取决于替换的外观。如果你想交换A->B,B->C,你可以用两行代码来完成。如果你想要完整的单词,你需要一个来自某处的数据集并对其进行调整…预期的替换输出是什么?这取决于替换结果的外观。如果你想交换A->B,B->C,你可以用两行代码来完成。如果你想要完整的单词,你需要一个来自某处的数据集并调整它。。。
dict <- c("b"="x", "c"="y")
dict
# b   c 
# "x" "y" 
dplyr::recode(letters[1:3], UQS(dict))
# [1] "a" "x" "y"