Я хочу, чтобы функция останова была включена в функцию. Условие состоит в том, что если первый и второй элементы должны соответствовать по порядку и длине.Сравнение двух векторов в выражении if
A <- c("A", "B", "C", "D")
B <- A
C <- c("A", "C", "C", "E")
> A == B
[1] TRUE TRUE TRUE TRUE
Это хорошая ситуация, чтобы идти вперед
> A == C
[1] TRUE FALSE TRUE FALSE
Поскольку существует одна ложь это условие, чтобы остановить и вывод, что условие оленья кожа держать на 2 и 4-й колонке.
if (A != B) {
stop("error the A and B does not match at column 2 and 4"} else {
cat ("I am fine")
}
Warning message:
In if (A != B) (stop("error 1")) :
the condition has length > 1 and only the first element will be used
Я пропустил что-то очевидное? Также я могу вывести, где находятся позиции ошибок?
Ваша осторожность в отношении утилизации - вот почему вы должны использовать' isTRUE (all.equal (D, E)) '. –
Взгляд на код для 'all.equal.character' был для меня полезным. Из-за «почти равного» аспекта этого для плавающих я предположил, что он сделал что-то смешное для других вещей тоже. Я не уверен, что, в ретроспективе. Но единственная, возможно, нежелательная вещь - проверить равенство всех атрибутов, включая имена. Это также требует большей осторожности с 'NA', чем мой простой код выше. – Aaron