我有一个数据集,它是商品价格的每日记录。根据价格数据,我想编码一个新的"动作"变量。这个变量应该用-1,0或1标记价格数据的每一行。这些数字对应于"卖出,什么都不做,买"。我可以用R或Python做到这一点。最有效的方法是什么?
示例输入:
8/26/2017, 5
8/27/2017, 5
8/28/17, 1
8/29/17, 3
8/30/17, 5
示例输出:
8/26/2017, -1
8/27/2017, -1
8/28/17, 1
8/29/17, 0
8/30/17, -1
答案 0 :(得分:0)
我们可以使用match
在R
df1$price <- c(-1, 1, 0)[match(df1$price, c(5, 1, 3))]
df1$price
#[1] -1 -1 1 0 -1
df1 <- structure(list(date = c("8/26/2017", "8/27/2017", "8/28/17",
"8/29/17", "8/30/17"), price = c(5, 5, 1, 3, 5)), .Names = c("date",
"price"), class = "data.frame", row.names = c(NA, -5L))