R中ifelse()函数的语法
我有一个名为R中ifelse()函数的语法,r,if-statement,R,If Statement,我有一个名为old_images 此数据集中的一列称为difference,它可以取1和1115之间的值 我还有另一个名为Quarter的列,我希望根据该行的差值值的季度,该列的值为1、2、3或4 因此,规则如下: 如果old_images$difference介于1和279之间,则old_images$Quarter=1 否则 如果old_images$difference介于280和558之间,则old_images$Quarter=2 否则 如果old_images$difference介
old_images
此数据集中的一列称为difference
,它可以取1
和1115
之间的值
我还有另一个名为Quarter
的列,我希望根据该行的差值
值的季度,该列的值为1
、2
、3
或4
因此,规则如下:
如果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
程序包时,您可以在和案例之间使用:
library(dplyr)
old_images <- old_images %>% mutate(Quarter = case_when(
between(difference, 1, 279) ~ 1,
between(difference, 280, 558) ~ 2,
between(difference, 559, 837) ~ 3,
between(difference, 838, 115) ~ 4,
TRUE ~ 4
))
库(dplyr)
旧图像%变异(四分之一=情况)(
在(差,1279)~1之间,
在(差,280558)~2之间,
在(差,559837)~3之间,
在(差,838115)~4之间,
对~4
))
dplyr::case\u when
将是在这种情况下使用的一个好选项。@user20650:您链接到的问题不是关于ifelse
哪个OP没有问的问题for@Tung; 同意,但它提供了相同的结果,但更有效的方式,似乎appropraite@EdinPC:参见本节了解案例syntax@user20650:那么这不是一个完全相同的副本ifelse
不仅用于这种情况,因此OP学习正确使用它的方法很有好处@MKR感谢您,这非常有效!