我是R的新手,我正在尝试查找子集的大小。 也就是说,我在我感兴趣的data.frame(BuenosMalos)中有两列。
我有专栏,性别(值:masculino / femenino)和Malo(值:0/1)
我想知道有多少femenino的Malo值为0。
我用过:
bad<-subset(BuenosMalos,sexo=="Femenino", Malo==1)
length(bad)
但我得到的价值是不正确和不合逻辑的。(我使用Excel和COUNTIFS函数仔细检查过它。)
非常感谢有关如何在R
中执行此操作的建议答案 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