在R中使用Subset

时间:2014-07-10 16:26:03

标签: r subset

我是R的新手,我正在尝试查找子集的大小。 也就是说,我在我感兴趣的data.frame(BuenosMalos)中有两列。

我有专栏,性别(值:masculino / femenino)和Malo(值:0/1)

我想知道有多少femenino的Malo值为0。

我用过:

bad<-subset(BuenosMalos,sexo=="Femenino", Malo==1)
length(bad)

但我得到的价值是不正确和不合逻辑的。(我使用Excel和COUNTIFS函数仔细检查过它。)

非常感谢有关如何在R

中执行此操作的建议

1 个答案:

答案 0 :(得分:0)

以下是使用table

执行此操作的基本示例

示例数据:

set.seed(1)

mydf <- data.frame(
  sex = sample(c("M", "F"), 20, TRUE),
  malo = sample(0:1, 20, TRUE)
)

制表:

table(mydf)
#    malo
# sex 0 1
#   F 7 4
#   M 5 4

提取相关的行/列组合:

table(mydf)["F", "1"]
# [1] 4

正如评论中所提到的,length上的data.frame会返回列数,而不是行数。为此,您可以使用nrow,如下所示:

nrow(with(mydf, mydf[sex == "F" & malo == 1, ]))
# [1] 4

如果您想采用subset方法,请尝试:

nrow(subset(mydf, sex == "F" & malo == 1))
# [1] 4