我有我想要使用R.这里一个数据帧中,以解决特定问题是列和样本数据的几行找到特定的条件:如何写R功能在数据帧
我想要编写一个功能,在有多个FIPS和多个PROMO的情况下查找ZIP。换句话说,用不同的PROMO交叉FIPS的ZIPS。我不需要担心COUNTY,FACTOR_X和FACTOR_Y,但我确实需要保留它们。
有三种可能的PROMO级别(LOW,ZERO,VARIABLE)。如果一个ZIP存在于多个FIPS中,并且PROMO在该子集内不明显,则状态为FAIL。但是,如果一个ZIP存在于多个FIPS中,并且PROMO在该子集内不同(相同),则状态为PASS。
下面是一些示例输出
ZIP,ST_COUNTY,FIPS,FACTOR_X,FACTOR_Y,促销,STATUS
8520,NJ MERCER,34021,XXX,YYY,变量,FAIL
8520 NJ MIDDLESEX,34023,XXX,YYY,ZERO,FAIL
8525,NJ XUNTERDON,34019,XXX,YYY,LOW,FAIL
8525,NJ MERCER,34021,XXX,YYY,变量,FAIL
8540,NJ MERCER,34021,XXX,YYY,变量,FAIL
8540,NJ MIDDLESEX,34023,XXX,YYY,ZERO,FAIL
8540,NJ SOMERSET,34035,XXX,YYY ,ZERO,FAIL
8558,NJ XUNTERDON,34019,XXX,YYY,LOW,FAIL
8558,NJ MERCER,34021,XXX,YYY,变量,FAIL
8558,NJ SOMERSET,34035 ,XXX,YYY,ZERO,FAIL
23117,VA GOOCXLAND,51075,XXX,YYY,ZERO,FAIL
23117,弗吉尼亚州路易莎51109,XXX,YYY,LOW,FAIL
23117,VA SPOTSYLVANIA,51177,XXX,YYY, LOW,FAIL
23117,VA SPOTSYLVANIA,51177,XXX,YYY,ZERO,FAIL
78015,德克萨斯州贝克萨尔,48029,XXX,YYY,ZERO,FAIL
78015,德克萨斯州贝克萨尔,48029, XXX,YYY,ZERO,FAIL
78015,TX科马尔,48091,XXX,YYY,LOW,FAIL
78015,TX科马尔,48091,XXX,YYY,ZERO,FAIL
78015,德克萨斯州肯德尔48259,XXX,YYY, LOW,FAIL
78015,德克萨斯州肯德尔48259,XXX,YYY,ZERO,FAIL
1906年,MA ESSEX,25009,XXX,YYY,LOW,PASS
1906年,MA MIDDLESEX,25017, XXX,YYY,LOW,PASS
1906年,马萨诸塞州萨福克,25025,XXX,YYY,LOW,PASS
16127,PA BUTLER,42019,XXX,YYY,ZERO,PASS
16127,PA LAWRENCE,42073,XXX,YYY,ZERO ,PASS
16127,PA MERCER,42085,XXX,YYY,ZERO,PASS
16127,PA韦南戈,42121,XXX,YYY,ZERO,PASS
对于输出,我想分裂分成两个文件,包括原始列和新的STATUS列。第一个文件是ZIP_PASS所有STATUS == PASS和第二个文件是ZIP_FAIL所有STATUS == FAIL
=======
你应该明确地提供与你的榜样预期输出。有关详细信息:https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/28481250#28481250 – Frank
感谢弗兰克的建议,按要求编辑。 – Tony
如果您将期望的STATUS列添加到样本数据中,它会有所帮助。前四行是否会失败(因为它们都是PROMO = LOW)并且最后四行是否通过? – Gabe