Я получаю сообщение об ошибке argument is of length zero
, когда передаю свой фрейм данных и соответствующие ему столбцы пользовательской функции.
Я создал функцию, которая проверяет, равно ли значение в одном столбце значению в любом другом столбце, и должно возвращать значение в новом столбце кадра данных с именем data$group
.
//Name of Data Frame is 'data'
bucket.function<-function(df2, a, b, c, d, e, f, g, h, i) {
if(df2$a==df2$b)
result<- "if"
else if(df2$a==df2$c)
result<-"df"
else if(df2$a==df2$d)
result<-"bus"
else if(df2$a==df2$e)
result<-"car"
else if(df2$a==df2$f)
result<-"train"
else if(df2$a==df2$g)
result<-"exp"
else if(df2$a==df2$h)
result<-"dh"
else if(df2$a==df2$i)
result<-"ih"
else
result<- "NA"
return(result)
}
data$group <- bucket.function(data, "latest_txn_date", "if_last_txn_date", "df_last_txn_date", "b_last_txn_date", "car_last_txn_date", "train_last_txn_date", "exp_last_txn_date", "dh_last_txn_date", "ih_last_txn_date")
Я ожидаю, что вывод будет столбцом значений в data$group
, который содержит значения, возвращаемые для каждого значения d$a
, здесь data$latest_txn_date