【发布时间】:2016-08-12 14:00:29
【问题描述】:
例如,在一个数据集中,我有三个组,分别是 1、2、3,每个组可以分配给 0 或 1。R 中的代码是什么,可以让我计算分配给第 1 组的 0 的数量?
【问题讨论】:
-
@akrun 很抱歉,我对 R 很陌生,请您再解释一下。
-
请考虑阅读How to Ask 以及如何创建可重现的示例。
例如,在一个数据集中,我有三个组,分别是 1、2、3,每个组可以分配给 0 或 1。R 中的代码是什么,可以让我计算分配给第 1 组的 0 的数量?
【问题讨论】:
这是@akrun 可能试图在评论中解释的示例:
set.seed(123)
df1 <- data.frame(grp=sample(3,300,replace = TRUE),val=rbinom(300,1,0.5))
这会生成一个包含两列的 data.frame,一列用于组,另一列用于值:
head(df1)
# grp val
#1 1 1
#2 3 0
#3 2 1
#4 3 1
#5 3 1
#6 1 0
函数table()可以用来查看每个组中有多少成员的值为零或一:
table(df1)
# val
#grp 0 1
# 1 48 51
# 2 55 50
# 3 52 44
因此,在此示例中,有 48 个条目的值为 0 分配给组 1。
也许获取特定请求信息的更明确的方法可能是将等于 0 且属于 data.frame df1 中的第一组的条目数相加:
sum(df1$val[df1$grp==1]==0)
#[1] 48
【讨论】: