R中的多条件语句

R中的多条件语句,r,R,我想通过多种条件知道过滤数据帧的形状或长度。我用过两种方法,但我有点困惑,因为它们给了我不同的输出 方法1 我有点困惑,为什么输出会不同?有什么想法吗?在方法一中,您将x分配给df[df$gender=='male'],然后将x替换为分配给x[x$stat==0]。因此,您将以nrow结束,因为只有多少stat==0。在没有数据集的情况下,在方法一中,可能x看起来像是您将x分配给df[df$gender=='male'],然后将x替换为分配给x[x$stat==0]。因此,您将以nrow结束,因

我想通过多种条件知道过滤数据帧的形状或长度。我用过两种方法,但我有点困惑,因为它们给了我不同的输出

  • 方法1

  • 我有点困惑,为什么输出会不同?有什么想法吗?

    在方法一中,您将x分配给df[df$gender=='male'],然后将x替换为分配给x[x$stat==0]。因此,您将以nrow结束,因为只有多少stat==0。在没有数据集的情况下,在方法一中,可能x看起来像是您将x分配给df[df$gender=='male'],然后将x替换为分配给x[x$stat==0]。因此,您将以nrow结束,因为只有多少stat==0。在没有数据集的情况下,我脑子里突然想起来了,也许我确实添加了逗号,只是忘了在这里添加它。方法1不是OR语句。输出非常接近,但不相同。我想出来了。sql命令过滤掉NA值,而方法1没有。太好了,你可以添加它作为答案,因为你自己解决了它。另外,请编辑你的问题以包含逗号,否则看起来你的问题是语法错误。我添加了逗号,只是忘了在这里添加它。方法1不是OR语句。输出非常接近,但不相同。我想出来了。sql命令过滤掉NA值,而方法1没有。太好了,你可以添加它作为答案,因为你自己解决了它。另外,请编辑你的问题以包含逗号,否则看起来你的问题是语法错误。
        x <- df[df$gender=='male',]    
        x <- x[x$stat == 0,]    
        nrow(x)    
        OUTPUT = Some Number    
    
        nrow(sqldf('SELECT * FROM df WHERE gender == "male" AND stat == 0'))    
        OUTPUT = Some Number