【发布时间】:2020-11-20 00:54:07
【问题描述】:
我想知道是否有任何方法可以将下面的代码包装起来以使其更短;我正在考虑使用循环或类似功能来做到这一点。此代码使用 AgeatDeath 和 Disability 生成一个新变量 (cat)。如果 AgeatDeath 介于 75.6 和 77.1 之间并且 Disability 等于“无智力和发育障碍”,则代码创建值为 75.6-77.1 的 cat 变量。 谢谢, 纳德
IDD <- IDD %>%
mutate(
cat = case_when(
AgeatDeath >= 75.6 &
AgeatDeath < 77.1 &
Disability == 'No Intelectual and Developmental Disabilities' ~ '75.6-77.1',
AgeatDeath >= 74.3 &
AgeatDeath < 75.6 &
Disability == 'No Intelectual and Developmental Disabilities' ~ '74.3-75.6',
AgeatDeath >= 72.5 &
AgeatDeath < 74.3 &
Disability == 'No Intelectual and Developmental Disabilities' ~ '72.5-74.3',
AgeatDeath >= 66.5 &
AgeatDeath < 72.5 &
Disability == 'No Intelectual and Developmental Disabilities' ~ '66.6-72.5',
AgeatDeath >= 64.1 &
AgeatDeath < 71.9 &
Disability == 'Intellectual disability' ~ '64.1-71.9',
AgeatDeath >= 62.3 &
AgeatDeath < 64.1 &
Disability == 'Intellectual disability' ~ '62.3-64.1',
AgeatDeath >= 59.4 &
AgeatDeath < 62.3 &
Disability == 'Intellectual disability' ~ '59.4-62.3',
AgeatDeath >= 50.4 &
AgeatDeath < 59.4 &
Disability == 'Intellectual disability' ~ '50.4-59.4',
AgeatDeath >= 56.47 &
AgeatDeath < 59.1 &
Disability == 'Down syndrome' ~ '56.47-59',
AgeatDeath >= 55.59 &
AgeatDeath < 56.47 &
Disability == 'Down syndrome' ~ '55.59-56.47',
AgeatDeath >= 54.42 &
AgeatDeath < 55.59 &
Disability == 'Down syndrome' ~ '54.42-55.59',
AgeatDeath >= 50.92 &
AgeatDeath < 54.42 &
Disability == 'Down syndrome' ~ '50.92-54.42',
AgeatDeath >= 53.3 &
AgeatDeath < 58.2 &
Disability == 'Cerebral palsy' ~ '53.3-58.2',
AgeatDeath >= 50.6 &
AgeatDeath < 53.3 &
Disability == 'Cerebral palsy' ~ '50.6-53.3',
AgeatDeath >= 48.9 &
AgeatDeath < 50.6 &
Disability == 'Cerebral palsy' ~ '48.9-50.6',
AgeatDeath >= 41.38 &
AgeatDeath < 48.9 &
Disability == 'Cerebral palsy' ~ '41.4-48.9',
AgeatDeath >= 44.2 &
AgeatDeath < 51.1 &
Disability == 'Other rare developmental disabilities' ~ '44.2-51',
AgeatDeath >= 41.6 &
AgeatDeath < 44.2 &
Disability == 'Other rare developmental disabilities' ~ '41.6-44.2',
AgeatDeath >= 30.6 &
AgeatDeath < 38.4 &
Disability == 'Other rare developmental disabilities' ~ '30.6-38.4',
AgeatDeath >= 38.4 &
AgeatDeath < 41.6 &
Disability == 'Other rare developmental disabilities' ~ '38.4-41.6'
)
)
【问题讨论】: