检查R中的列表中是否存在数据框列值 数据

问题描述

我有一个色彩大师作为下面的列表

master <- list("Beige" = c("light brown","light golden","skin"),"off-white" = c("off white","cream","light cream","dirty white"),"Metallic" = c("steel","silver"),"Multi-colored" = c("multi color","mixed colors","mix","rainbow"),"Purple" = c("lavender","grape","jam","raisin","plum","magenta"),"Red" = c("cranberry","strawberry","raspberry","dark cherry","cherry","rosered"),"Turquoise" = c("aqua marine","jade green"),"Yellow" = c("fresh lime")
                     )

这是我拥有的datframe列

df$color <- c('multi color','purple','steel','metallic','off white','raisin','strawberry','magenta','skin','Beige','Jade Green','cream','multi-colored','offwhite','rosered',"light cream")

现在我要检查column中存在的值是否与list key相同或与list values相同

ex
1)如果df列的值首先为off white,则应查看列表键(如果存在)为Beige,off-white,Metallic...而不是获取值
2)如果其中一个键值是light cream,它还应该查看这些键具有的所有值,而不是应将其视为off-white
3)没有大小写敏感的问题,例如OffWhITe == offwhite或空格问题,例如off white==offwhite

输出
这应该是预期的输出

df$output <- c("Multi-colored","Purple","Metallic","off-white","Red","Beige","Turquoise","Multi-colored","off-white")

编辑
c("multi color","rainbow","multicolored","MultI-cOlored","multi-colored","MultiColORed","Multi-colored")中的任何值都应视为Multi-colored

解决方法

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

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

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