【发布时间】:2013-09-26 18:58:56
【问题描述】:
我已将一个 csv 文件上传到 r,其中大部分是二进制数据。我想要做的是根据“a”列中的相应条目操作“b”列中的数据。
例如,我希望循环遍历我的整个数据集,并且对于第 2 列中包含“1”条目的每一行,检查以查看同一行中第 3 列中的条目。然后,找出这些成功查询中有多少存在。
同样,我有几列大整数,我很想通过检查其中一个大数是否大于另一个来确认其他二进制列之一。例如,列“3”是“主队获胜?”的二进制结果。然后我在“主队得分”和“客队得分”列中获得了比赛的得分。我真的很想创建一个循环来查看“主队获胜”中的条目是否由“主队得分”>“客队得分”中的条目确认。
谢谢
【问题讨论】:
-
合并和匹配函数似乎是明显的无循环方法。要求您提供 dput 输出或代码以提供示例。
-
R 用户通常使用向量化操作而不是循环,因为 R 中的循环很慢,除非它们非常简单。实际上,您需要的只是对列名求和一个布尔表达式(使用
&连接多个布尔表达式)。求和将TRUE添加为 1,将FALSE添加为 0,因此匹配查询的数量。使用示例数据集编辑您的问题,您将获得更具体的代码答案。