gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 00:56:23 25 4
gpt4 key购买 nike

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

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

  1. 如果v1在v2和v3之间,那么cat
  2. 如果v1在v3和v4之间,那么狗
  3. 如果v1在v4和v5之间,那么ant
  4. 如果 v1 大于 v5,则 hog。

我知道如何针对单个条件执行此操作,但不知道如何针对多个条件执行此操作。

最佳答案

嵌套的 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

关于r - 如何根据多个条件创建列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34642061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com