如何解决如果另一列显示特定值,如何使用R表示真/假创建新列?
这是一个简单的数据集:
mydf <- tibble(country = rep(c("UK","US"),each = 3),date = rep(c("Day1","Day2","Day3"),times = 2),cases = seq(1:6))
# A tibble: 6 x 3
country date cases
<chr> <chr> <int>
1 UK Day1 1
2 UK Day2 2
3 UK Day3 3
4 US Day1 4
5 US Day2 5
6 US Day3 6
我想使用mutate()
创建一个名为“ part_us”的新列,如果“ country”中的值等于“ US”,则显示TRUE,如果不是“ US”,则显示FALSE。
这是一个简单的任务,但我仍在学习R,并希望在此方面有所帮助。
解决方法
您可以在ifelse()
管道的mutate()
内部使用dplyr
:
library(dplyr)
#Data
mydf <- tibble(country = rep(c("UK","US"),each = 3),date = rep(c("Day1","Day2","Day3"),times = 2),cases = seq(1:6))
#Code
mydf <- mydf %>% mutate(part_us=ifelse(country=='US',T,F))
输出:
# A tibble: 6 x 4
country date cases part_us
<chr> <chr> <int> <lgl>
1 UK Day1 1 FALSE
2 UK Day2 2 FALSE
3 UK Day3 3 FALSE
4 US Day1 4 TRUE
5 US Day2 5 TRUE
6 US Day3 6 TRUE
接下来可以使用另一种方法:(非常感谢和感谢 @Qwethm ):
#Code 2
mydf <- mydf %>% mutate(part_us=country=="US")
相同的输出。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。