【发布时间】:2019-11-19 08:37:15
【问题描述】:
我有一组数据,其中包含一列类别和另一列子类别。但是,某些类别数据不正确。我想根据子类别修复那些不正确的类别数据。
例如,我们有两个类别:A 和 B,以及子类别 A_sub 和 B_sub。但是,类别条目之一被错误地输入为“Others”,但子类别为“A_sub”(请参见下面的代码)。有什么优雅的方法可以在类别栏下将“Others”更改为“A”吗?
data <- data.frame("category" = c("A", "B", "B", "A", "Others", "Others"), "subcategory" = c("A_sub", "B_sub", "A_sub", "A_sub", "A_sub", "A_sub"))
预期的输出是:
谢谢!
【问题讨论】:
-
感谢您提供可重现的示例!到目前为止,您尝试了哪些方法,为什么没有成功?
-
基本答案
data$category[data$category == "Others"] <- "A" -
另外,这是following的副本
-
我尝试在 excel 中手动更正它,因为只有 140 个类别,但想知道 r 中是否有一种优雅的方式可以更快地完成它。我现在遇到的问题是找到一种快速创建反向映射(从子类别到类别)的方法。 IE。如何根据具有正确类别映射的其他子类别自动识别正确的类别。
-
感谢@InfiniteFlashChess,也许我在示例代码中有点误导。我改变了它,使第三行也有错误的类别。所以本质上,我试图弄清楚如何检查类别和子类别之间的映射是否正确。实际数据有140个类别。谢谢!
标签: r