【发布时间】:2018-04-29 19:30:27
【问题描述】:
我有一个名为old_images的数据集
此数据集中的一列称为difference,它可以采用1 和1115 之间的值。
我还有另一个名为 Quarter 的列,我希望它具有 1、2、3 或 4 的值,具体取决于该行的 difference 值是哪个 Quarter。
所以规则如下:
如果old_images$difference 介于1 和279 之间,则old_images$Quarter = 1
否则
如果old_images$difference 介于280 和558 之间,则old_images$Quarter = 2
否则
如果old_images$difference 介于559 和837 之间,则old_images$Quarter = 3
否则
如果old_images$difference 介于838 和1115 之间,则old_images$Quarter = 4
任何帮助将不胜感激,非常感谢!
【问题讨论】:
-
dplyr::case_when在这种情况下是一个不错的选择。 -
@user20650:您链接到的问题与 OP 没有要求的
ifelse无关 -
@Tung;同意,但它提供了相同的结果,但以更有效的方式,这似乎是合适的
-
@EdinPC:查看answer 了解
case_when语法 -
@user20650:那么它不是完全重复的吗?
ifelse不仅用于这种情况,因此对 OP 学习正确的使用方法很有好处
标签: r if-statement