R语言subset函数逻辑参数作用及y>0|z筛选条件含义咨询
subset函数逻辑筛选参数的作用
subset()的第二个参数是行筛选的逻辑判断规则,执行时会对输入数据框逐行计算该条件的布尔值,只有返回TRUE的行才会被保留到结果中。你可以直接在条件中使用数据框的列名,不需要额外加数据框变量前缀(比如不用写a_data_frame$y),函数会自动在传入的数据框的变量环境中识别列名。
示例中
y > 0 | z的具体含义 这个条件由三部分组成:
y > 0:对每行的y列数值做判断,大于0时返回TRUE,否则返回FALSE|:R的向量化「或」运算符,左右两个判断只要有一个为TRUE,整行的最终判断结果就为TRUEz:你构建的数据框中z列本身就是布尔类型,所以可以直接作为判断条件,值为TRUE时就满足要求
合并起来的规则就是:只要某一行满足「y值大于0」或者「z值为TRUE」任意一个条件,该行就会被保留。
结合你给出的示例数据来看,所有行的z列值都是FALSE,所以条件实际等效于y > 0,符合要求的是第1、4、5行,再加上第三个参数指定只保留x列,运行代码返回的结果为:
x 1 a 4 d 5 e
内容的提问来源于stack exchange,提问作者rubengavidia0x
相关产品推荐
相关产品推荐

