【发布时间】:2018-12-12 05:55:50
【问题描述】:
我对这个网站和编程世界还比较陌生,所以如果有人问过这个问题,我深表歉意。
这是我目前正在使用的数据框的修改版本(截断以使事情更容易诊断):
COUNTRY b_2010 c_2010 b_2011 c_2011
1 Australia 50 62 67 56
2 Austria 50 48 48 95
3 Belgium 50 26 67 25
4 Bulgaria 50 54 42 64
假设我想创建一系列变量,表明一个国家/地区的值等于或大于 50,每个现有变量在给定年份。
我可以通过运行这样的东西来做到这一点:
dataframe %>% mutate(d_2010 = if_else(b_2010 & c_2010 >= 50, "A", "B"),
d_2011 = if_else(b_2011 & c_2011 >= 50, "A", "B"))
这应该会产生我想要构建的指标变量,但如果我有一个冗长的时间序列,这个过程会变得非常繁琐。我确信有一种方法可以更有效地执行此操作(使用 mutate_at 或其他一些函数),但我无法弄清楚。
有人可以帮帮我吗?
谢谢!
【问题讨论】:
标签: r if-statement tidyverse dplyr