警告消息:在 if (data$body > 0) { 中:条件的长度 > 1,并且仅使用第一个元素
Warning message: In if (data$body > 0) { : the condition has length > 1 and only the first element will be used
我立即为许多人已经问过的事实道歉。
伙计们,我需要你们的帮助。
我有 data.frame,其中有一个 'body' 列。如果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
}
您想尝试以下解决方案:
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
条件获取一个逻辑向量,它将仅使用该向量中的第一个值。
我立即为许多人已经问过的事实道歉。
伙计们,我需要你们的帮助。
我有 data.frame,其中有一个 'body' 列。如果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
}
您想尝试以下解决方案:
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
条件获取一个逻辑向量,它将仅使用该向量中的第一个值。