带有ifelse循环的新列

时间:2017-10-18 01:43:15

标签: r loops if-statement conditional-statements

             TYC   Hi Mid Low Qty 
             1001  0  2    2   4
             1002  1  3    5   9
             1003  2  5    8   15
             1004  4  0    1   5

它是一个名为TC_Sargento_Analysis的数据框:

TC_Sargento_Analysis %>%
    group_by(TYC) %>% 
    summarise(Group = ifelse (Hi > .5*Qty) ,  "Buy any price" ,
    ifelse (Mid > .5*Qty) , "BUy mid price" , "Buy Low Price")

我正在使用此代码获取名为group的新列,如果Hi> gt,则该列具有“购买任何价格”数量的50%和“购买中期”如果Mid>数量的50%和低的相同。

但它给了我这个错误:

  

summarise_impl(.data,dots)出错:评估错误:参数   缺少“否”,没有默认值。

我还使用ifelse

为条件创建了一个函数
Class_Analysis <- function(a , b , c , d){
n <- length(a)
z <- character()

for(i in seq_along(a)[-c(1, n)]){
    ifelse(a[i] > .5*d[i])  
        z[i] <- "Hi"
} 

for(i in seq_along(b)[-c(1, n)]){
ifelse(b[i] > .5*d[i])  
Z[i] <- "Mid" 
Z[i] <- 'Low'
}
Z
}

当我使用函数

使用此代码时
Class_Analysis(TC_Sargento_Analysis$Hi , 
TC_Sargento_Analysis$Mid ,TC_Sargento_Analysis$Low
TC_Sargento_Analysis$Qty)

它给了我这个错误:

  

ifelse错误(a [i]&gt; 0.5 * d [i]):缺少参数“no”,   没有默认

我做错了什么?谢谢我是新手,试图学习做分析。

0 个答案:

没有答案