根据 R 中的键重新编码多列

问题描述

我正在尝试根据预先生成的键重新编码多个列。我通常只会写一个手动重新编码,但如果我能告诉代码引用密钥,它会为我节省很多时间。

我的数据如下所示:

  df <- data.frame(a = c('apple','banana','pear','peach','strawberry'),b = c('strawberry','apple'))
df
#  a          b
#1 apple      strawberry
#2 banana     peach
#3 pear       pear
#4 peach      banana
#5 strawberry apple

  key <- data.frame(id = 1:5,label= c('apple','strawberry')
key
#  id label
#1 1  apple
#2 2  banana
#3 3  pear
#4 4  peach
#5 5  strawberry

我想写一些代码来通过引用键来转换它:

#  a  b
#1 1  5
#2 2  4
#3 3  3
#4 4  2
#5 5  1

我修改了一些ifelse语句:


df[,1] <- ifelse(df$a %in% key$label,df$a == key$id,999 )

不过,这只是给了我一列真实的虚假陈述。我不确定 ifelse 语句是否可以像这样逐个单元格地进行精确的单元格更改。

无论如何,我愿意接受所有想法。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)