【发布时间】:2016-11-26 13:54:41
【问题描述】:
如何根据条件值获取随机样本。例如我有以下数据框:
GROUP CLASS AGE
A 1 10
A 2 15
B 1 10
B 2 17
C 1 12
C 2 14
我需要为每个 GROUPS 获取 30 条记录的样本,但只能从 CLASS = 1 中编译所有样本日期帧。
我知道如何获取 30 条记录的样本,但我不知道如何创建一个循环通过不同 GROUPS 并过滤 CLASS 的条件
ran.sample = sample(nrow(df_all), 30)
df = df_all[ran.sample, ]
有什么想法吗?
谢谢
【问题讨论】:
-
您需要
Class = 1所在的每个组中的 1 个样本行吗? -
如果你使用
data.table,那么可能有两个重复:samples by class和sample without class -
GROUP=A & CLASS =1 的 30 条记录 + GROUP=B & CLASS =1 的 30 条记录
-
例如,我可以先过滤类,例如 df
-
@Selrac 当然可以。使用
.(GROUP, CLASS)而不是GROUP应该可以,但是由于您的数据太小,我无法对其进行测试。另外,提及某人时请务必使用@,否则我不会收到通知。
标签: r dataframe random conditional