gpt4 book ai didi

r - 是否可以在 R 中使用类似字典的对象将一个字符串映射到另一个字符串?

转载 作者:行者123 更新时间:2023-12-04 12:18:48 24 4
gpt4 key购买 nike

我想使用在 Python 中看到的类似字典的对象将一个字符串映射到 R 中的另一个字符串。例如,在 Python 中,您可以定义一个字典来将一个字符串转换为另一个字符串,例如:

d = {"s": "Superlative", "d": "Dynamic", "f": "Furious"}
pd.apply(lambda x: d[x["map_column"]], axis=1)

但是,在 R 中,如果您想根据这种映射将一列中的一组字符串转换为另一列,您最终会定义一个需要大量 if else 的函数。 , 喜欢:
mapper <- function(x) {
if (x = "s") {
return ("Superlative")
} else if (x = "d") {
return ("Dynamic")
}...

return("")
}

但是我不喜欢定义这么长很长的函数。那么是否有可能定义一个字典,或者更具体地说,用 R 中更少的一行(或两行)代码来获得结果?

最佳答案

如果您已经在使用 tidyverse ,那么这就是recode适用于 dplyr .

df %>%
mutate(LongName = recode(ShortName,
s = "Superlative",
d = "Dynamic",
f = "Furious",
`multiple words` = "Use backticks to escape"
)
) ->
df

关于r - 是否可以在 R 中使用类似字典的对象将一个字符串映射到另一个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39689845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com