我有以下问题:匹配列,在R中创建循环
我有数据框,看起来像这样。我有价格,3 X和2 R的。
Date Name Price Interest
01.02.10 X 120 0.2
01.02.10 R 120 0.3
01.02.10 X 130 0.8
01.02.10 X 140 0.4
01.02.10 R 130 0.2
etc.
我想告诉R键找对X与同价位的&卢比,并删除其余。所以这应该导致:2个X和2个R(在这种情况下)。
Date Name Price Interest
01.02.10 X 120 0.2
01.02.10 R 120 0.3
01.02.10 X 130 0.8
01.02.10 R 130 0.2
etc.
为了使它更清晰(希望):我有很多不同的价格为每个日期。每一行中都有一个X或一个R。每个日期有很多对,例如X,价格= 120 & R,价格= 120日期1.但也有价格只与一个名称相匹配,例如,价格= 140仅适用于名称= X.所以我想要R做的是:检查一个价格的机器名称(即存在一个X和一个R相同的价格)并删除其余部分。实际上会导致X和R的数量相同,因为我正在寻找配对。
我很抱歉不能发布我试过的东西。我什么都想不起来。
现在,到下一个问题: 如果对在那里,我想告诉R检查每一行。如果名称是X,我希望它计算新的价格,如果不是只打印现有价格。 我试过
xx <- if(Name == "X"){Price + 100*interest} else print{Price}
但它没有工作。
感谢您的帮助
干杯 达尼
您需要更好地解释第一部分的逻辑。 “寻找名称和价格对”对我来说没有任何意义。对于第二部分,可以使用`ifelse()`而不是`if()... else`,因为前者是矢量化的。 – Shane 2010-12-08 14:33:15
好的谢谢。我想寻找价格和名称的匹配。所以我在我的数据框中有很多日期,它们有名称X或R.对于每个日期,我也有价格观察。现在,对于每个日期,应该有一对X&R上的一个价格,例如,日期1,x,价格= 120和日期1,r,价格= 120.还有其他观察不具有匹配,即例如日期1,x,价格= 140,而没有日期1,r,价格= 140.我想告诉R检查匹配(即X和R在每个日期相同的价格),并删除其余的。现在更清楚了吗?谢谢谢恩 – Dani 2010-12-08 14:53:26