如何用R语言判断抽样卡片的pack列元素是否全部相同?
判断随机抽取的卡片是否来自同一pack
你已经生成了卡片数据集并完成随机抽样,要实现"所有抽样卡片pack字母完全相同则返回TRUE,否则FALSE"的需求,按你的思路可以这样操作:
步骤拆解
- 先把抽样结果存为变量(方便后续操作):
# 执行抽样并保存结果 sample_cards <- card[sample(seq_len(nrow(card)), 5),]
选取pack列:
- 方式一:用
$直接提取列sample_packs <- sample_cards$pack - 方式二:用索引提取
sample_packs <- sample_cards[, "pack"]
- 方式一:用
去重并统计元素数量:
用unique()去重后,用length()统计去重后的元素个数:
unique_pack_count <- length(unique(sample_packs))
- 生成逻辑判断结果:
判断数量是否为1,得到最终逻辑值:
all_same_pack <- unique_pack_count == 1
整合为一行代码
如果想简化,直接把所有步骤合并成一行:
all_same_pack <- length(unique(card[sample(seq_len(nrow(card)), 5), "pack"])) == 1
运行后all_same_pack就是你需要的逻辑值,当所有抽样卡片pack相同时为TRUE,否则为FALSE。
内容的提问来源于stack exchange,提问作者PowerPoint Trenton
相关产品推荐
相关产品推荐

