首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >行业分类滴答试验

行业分类滴答试验
EN

Stack Overflow用户
提问于 2018-07-25 16:48:24
回答 2查看 126关注 0票数 0

在撰写硕士论文时,我下载了交易数据:

代码语言:javascript
复制
  >head(Data1)
  PRICE PREVIOUS
1 100   99
2 98    100
3 100   98
4 100   100
5 100   100
6 101   100      

目标是添加一个列,该列指示交易是由买方(“购买”)还是卖方("sell")发起的。这些规则如下:

  • 价格<先前的=>销售
  • 价格>前一次=>购买
  • 价格==以前的=>优先分类

它应该是这样的

代码语言:javascript
复制
      >head(Data1)
     PRICE PREVIOUS TICK
    1 100   99       Buy
    2 98    100      Sell
    3 100   98       Buy
    4 100   100      Buy
    5 100   100      Buy
    6 101   100      Buy

我编写了以下代码:

代码语言:javascript
复制
Data1$TICK <- ifelse(Data1$PRICE == Data1$PREVIOUS, yes = shift(Data1[ ,3]), no = ifelse(Data1$PRICE>Data1$PREVIOUS, yes= "Buy", no = "Sell"))

但是,当我试图执行代码时,会收到警告:

[.data.frame中的错误(Data1,,3)`:选定的未定义列

因此,我有两个问题:

  1. 这段代码能传递我想要得到的结果吗?
  2. 错误信息指的是什么?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-25 18:54:47

这里有一个简单的使用基础的方法。

代码语言:javascript
复制
data1 <- data.frame(PRICE = c(100,98,100,100,100,101), PREVIOUS = c(99,100,98,100,100,100))

tk <- c("Sell", NA, "Buy")[sign(data1$PRICE-data1$PREVIOUS)+2]
for(i in 2:length(tk)) if (is.na(tk[i])) tk[i] <- tk[i-1]

data1$TICK <- tk
print(data1)

#   PRICE PREVIOUS TICK
# 1   100       99  Buy
# 2    98      100 Sell
# 3   100       98  Buy
# 4   100      100  Buy
# 5   100      100  Buy
# 6   101      100  Buy

如果你认为它更直观,你可以:

代码语言:javascript
复制
tk <- c("Sell", "Prior", "Buy")[sign(data1$PRICE-data1$PREVIOUS)+2]
for(i in 2:length(tk)) if (tk[i] == "Prior") tk[i] <- tk[i-1]
票数 1
EN

Stack Overflow用户

发布于 2018-07-25 17:21:40

代码语言:javascript
复制
library(tidyverse)
dat%>%
  mutate(m = sign(PRICE-PREVIOUS),
         m=replace(m,m == 0,NA))%>%
  fill(m)%>%
  mutate(m = if_else(m==1,"Buy","Sale"))
  PRICE PREVIOUS    m
1   100       99  Buy
2    98      100 Sale
3   100       98  Buy
4   100      100  Buy
5   100      100  Buy
6   101      100  Buy
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51524002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档