【发布时间】:2015-11-25 20:20:47
【问题描述】:
我在使用 csv 文件并将其集成到我的代码中时遇到问题。
例如:假设我有一个大数据集,让我们将其命名为数据,其中 1000 行只是随机颜色,列行命名为颜色。
此外,我还有另一个数据集,我们将其命名为second,有两列:If 和Then。假设 If 列包含一些随机颜色,then 是一个数字。
我希望代码将data$colors 替换为then 列中的数字。
为什么
ifelse(data$colors == second$If, data$colors == second$then, data$colors == data$colors)
不工作?
【问题讨论】:
-
因为你需要
%in%而不是==。你可以写with(data, ifelse(colors %in% second$If, second$then, colors)) -
另外,您的代码只不过是使用
==进行的测试,它将始终返回 TRUE 或 FALSE。在我看来,你应该先将merge你的data改为second,然后写一个ifelse声明。