【发布时间】:2019-07-08 22:49:38
【问题描述】:
我有 2 个包含多个因子列的数据框。一个是基础数据帧,另一个是最终数据帧。我想使用最终数据框更新基础数据框的级别。
考虑这个例子:
base <- data.frame(product=c("Business Call", "Business Transactional",
"Monthly Non-Compounding and Standard Non-Compounding",
"OCR based Call", "Offsale Call", "Offsale Savings",
"Offsale Transactional", "Out of Scope","Personal Call"))
base$product <- as.factor(base$product)
final <- data.frame(product=c("Business Call", "Business Transactional",
"Monthly Standard Non-Compounding", "OCR based Call",
"Offsale Call", "Offsale Savings","Offsale Transactional",
"Out of Scope","Personal Call", "You Money"))
final$product <- as.factor(final$product)
我现在想要的是最终数据库具有与基础相同的级别,并删除根本不存在的级别,例如“You Money”。而“月标准非复合”要模糊匹配
例如:
levels(base$var1) <- "a" "b" "c"
levels(final$var1) <- "Aa" "Bb" "Cc"
有没有办法通过某种模糊匹配使用最终数据覆盖基础数据中的级别?
就像我希望两个数据的最终级别相同。即
levels(base$var1) <- "Aa" "Bb" "Cc"
levels(final$var1) <- "Aa" "Bb" "Cc"
【问题讨论】:
-
模糊匹配是什么意思?
-
如果标签的顺序保持在两个数据帧之间,也许我们可以简单地
base$var1 = factor(base$var1, levels(base$var1), levels(final$var1)) -
我添加了一个工作示例! @OmG
-
@Quar 我添加了一个工作示例