У меня есть датафрейм с 3 столбцами и несколькими тысячами строк.Теперь я хочу сравнить значения в столбцах каждой строки, чтобы увидеть, соответствуют ли значения определенной тенденции.
Df <- data.frame(Value1 = c(13,19,56,47,15,13,64, 48), Value2 = c(54,64,11,21,15,48,12,78), Value3 = c(66,78,05,12,21,23,45,30))
В этом примере строка данных в 1-м кадре будет иметь восходящий наклон, а строка 3 - в нисходящем.slope.
Я написал это для цикла, чтобы пройти весь фрейм данных.
for(row in 1:nrow(Df)) {
if (Df$Value1 > Df$Value2 & Df$Value2 > Df$Value3){
print("Downward slope")
} else if (Df$Value1 < Df$Value2 & Df$Value2 < Df$Value3){
print("Upward slope")
} else if (Df$Value1 > Df$Value2 & Df$Value2 < Df$Value3){
print("Dip")
} else if (Df$Value1 < Df$Value2 & Df$Value2 > Df$Value3){
print("Peak")
}
}
Теперь это уже довольно неэффективно, но это даже не работает.При выполнении этого я получаю ошибку:
условие имеет длину> 1 и будет использоваться только первый элемент; условие имеет длину> 1 и будет использоваться только первый элемент [1] "Восходящий наклон"
условие имеет длину> 1, и будет использоваться только первый элемент, условие имеет длину> 1, и будет использоваться только первый элемент [1]" Наклон вверх "
Как бы заставить что-то подобное работать?