我立即为许多人已经问过这个事实而道歉。
我需要你的帮助,伙计们。
我有data.frame,它有一个'body'列。如果身体> 0,如果'body'< 0,我们计算相同规则的两列,然后按不同的规则计算。
在我的代码有问题之后引入概念:
if(data$body > 0){
data$shadow.up <- data$High - data$Close
data$shadow.down <- data$Open - data$Low
}else{
data$shadow.up <- data$High - data$Open
data$shadow.down <- data$Close - data$Low
}
答案 0 :(得分:0)
您想尝试以下解决方案:
data$shadow.up <- ifelse(data$body > 0, data$High - data$Close, data$High - data$Open)
data$shadow.down <- ifelse(data$body > 0, data$Open - data$Low, data$Close - data$Low)
在您的解决方案中,if
条件获取逻辑向量,它将仅使用该向量中的第一个值。