如何统计R语言Dice3表中Red3、Green3、White3三列值全相等的行数
错误原因
- 原代码存在两处语法问题:
- 相等判断错误使用了赋值符号
=,R中判断两个值相等需要使用双等号== - 多列值相等的判断不能直接连写,需要拆分多个独立的比较条件,通过逻辑与符号
&关联
- 相等判断错误使用了赋值符号
正确实现代码
你可以任选以下一种方式完成统计:
- 基于原有subset函数的修正写法:
nrow(subset(Dice3, Red3 == Green3 & Green3 == White3)) - 通用性更强的向量化写法,适合列数较多的场景:
sum(apply(Dice3, 1, function(x) length(unique(x)) == 1))
结果验证
三个骰子点数完全相等的情况只有6种(全1、全2…全6),运行正确代码后返回结果应为6。
内容的提问来源于stack exchange,提问作者David Kwak
相关产品推荐
相关产品推荐

