gpt4 book ai didi

使用引用列表重新编码特定列值

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

我的数据框是这样的

data = data.frame(ID=c(1,2,3,4,5,6,7,8,9,10),
Gender=c('Male','Female','Female','Female','Male','Female','Male','Male','Female','Female'))

我有一个引用列表,看起来像这样 -

ref=list(Male=1,Female=2)

我想使用此引用列表替换 Gender 列中的值,而不向我的数据框添加新列。

这是我的尝试

do.call(dplyr::recode, c(list(data), ref))

这给了我以下错误-

no applicable method for 'recode' applied to an object of class "data.frame"

任何输入将不胜感激

最佳答案

一个选项是在将“ref”liststack 到两列 data.frame 之后执行 left_join

library(dplyr)
left_join(data, stack(ref), by = c('Gender' = 'ind')) %>%
select(ID, Gender = values)

base R 方法是

unname(unlist(ref)[as.character(data$Gender)])
#[1] 1 2 2 2 1 2 1 1 2 2

关于使用引用列表重新编码特定列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56344870/

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