问题描述
我正在尝试根据预先生成的键重新编码多个列。我通常只会写一个手动重新编码,但如果我能告诉代码引用密钥,它会为我节省很多时间。
我的数据如下所示:
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 (将#修改为@)