当前位置:  开发笔记 > 编程语言 > 正文

如何根据多个条件创建列?

如何解决《如何根据多个条件创建列?》经验,为你挑选了1个好方法。

我有一个数据框,我想根据多个条件创建一个列:

v1  v2  v3  v4  v5
4   1   2   4   5
5.5 2   4   5   6
21  9  20  30   50 
6   4   5   7   9
10  3   6   5   9

基本上,创建具有以下可能值的v6:Cat,dog,ant,hog

    如果v1在v2和v3之间,那么cat

    如果v1在v3和v4之间,那么狗

    如果v1在v4和v5之间,那么蚂蚁

    如果v1大于v5,那么就是猪.

我知道如何针对单一条件执行此操作,但不是多条件.



1> Zelazny7..:

嵌套的ifelse语句:

df$v6 <- with(df, ifelse(
  v1 >= v2 & v1 <= v3, 'cat', ifelse(
  v1 >= v3 & v1 <= v4, 'dog', ifelse(
  v1 >= v4 & v1 <= v5, 'ant', ifelse(
  v1 >= v5, 'hog', 'whoops')))))


> df
    v1 v2 v3 v4 v5  v6
1  4.0  1  2  4  5 dog
2  5.5  2  4  5  6 ant
3 21.0  9 20 30 50 dog
4  6.0  4  5  7  9 dog
5 10.0  3  6  5  9 hog

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有