【发布时间】:2014-06-01 01:16:20
【问题描述】:
我有以下数据框,需要从长格式转换为宽格式:
symbol side price
1 A B 1
2 A S 2
3 B B 3
4 C B 4
5 B S 5
说明:每个符号必须存在B边和S边的两行。需要找到这些行并将它们转换为宽格式:
[symbol, first-comed side (B or S), price of side B, price of side S]
如果存在一条线但缺少另一条线,则将 NA 值设置为适当的价格值。例如,如果 B 面的行存在,但 S 面缺失,则将 NA 置于 S 面的价格。
输出结果必须如下:
symbol side price_B price_S
1 A B 1 2
2 B B 3 5
3 C B 4 NA
对于符号 A 和 B,我们有边 A 和 B 的线,所以我们在没有 NA 的情况下转换它们。 B 面是第一个顺序,然后我们只将 B 面放在“侧”列。对于符号 C,我们只有 B 面,但没有 S 面,因此我们将 NA 值放入“price_S”列。
如何矢量化?
【问题讨论】:
-
我认为很清楚要问什么。哦,好吧。
-
我更新了我的问题。希望现在清楚了。
标签: r for-loop vectorization