Моя задача - написать функцию, которая проверяет, является ли самое подходящее предположение для моего набора данных одноэтапным падением в год.Другими словами, я хочу вернуть логический показатель FALSE
, если среднее падение баллов превышает 1 в год, и логический показатель TRUE
, когда среднее падение баллов составляет 1 в год.
Пример набора данных:
score <- matrix(c(8,rep(NA,6),7,NA,NA,3,NA,9,9,
6, 6, NA, NA,9,9,8,NA,NA,7,rep(NA,4),
rep(NA,9),8,NA,5,7,rep(NA,1),
rep(NA,8),7,3,rep(NA,4),
rep(NA,5),9,rep(NA,3),7,NA,NA,6,6),nrow=5,byrow=TRUE)
colnames(score) <- paste("Year",2003:2016,sep="")
rownames(score) <- 1:5
score
Я в растерянности, с чего начать, но вот моя попытка перед вставкой в функцию:
ifelse(score[score[i] - score[1+i,]=1], TRUE, FALSE)
Неудивительно, что это дает сообщение об ошибке:
Error: unexpected '=' in "ifelse(score[score[i] - score[1+i,]="
Вот еще одна попытка, которая при запуске выдает сообщение об ошибке:
Error in 1:n : argument of length 0
check2 = function(x) {
n = ncol(x)
for(i in 1:n)
if(x[x[1,] - x[1+i,] == 1]){
return(TRUE)
}else{
return(FALSE)
}
}
ОБНОВЛЕНИЕ: желаемый результат - один TRUE
или FALSE
для каждой строки данных.