Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 基于层次的子集数据帧_R_Loops_For Loop_If Statement_Nested - Fatal编程技术网

R 基于层次的子集数据帧

R 基于层次的子集数据帧,r,loops,for-loop,if-statement,nested,R,Loops,For Loop,If Statement,Nested,我在R中有以下数据帧。我想根据三个标准对其进行子集,对于每个id级别中的每个唯一值x 如果x只有一个值,则保留该行 如果x的z值相同,y值不同,则保留y不小于1.3的行 如果x有三个z值,则保留y不小于1.3的两行 id x y z a 10.2 100 a 211200 a 21.3200 b 10.5400 b 111500 b 1 1.3 600我们可以根据条件按“id”、“x”和过滤器进行分组 library(dplyr) df1 %>% group_by(id, x)

我在R中有以下数据帧。我想根据三个标准对其进行子集,对于每个id级别中的每个唯一值x

  • 如果x只有一个值,则保留该行
  • 如果x的z值相同,y值不同,则保留y不小于1.3的行
  • 如果x有三个z值,则保留y不小于1.3的两行
  • id x y z
    a 10.2 100
    a 211200
    a 21.3200
    b 10.5400
    b 111500
    
    b 1 1.3 600
    我们可以根据条件按“id”、“x”和
    过滤器进行分组

    library(dplyr)
    df1 %>% 
       group_by(id, x) %>% 
       filter(n() == 1|(n() > 1 & y != 1.3))
    
    数据
    df1我们可以根据条件按“id”、“x”和
    filter
    进行分组

    library(dplyr)
    df1 %>% 
       group_by(id, x) %>% 
       filter(n() == 1|(n() > 1 & y != 1.3))
    
    数据
    df1