Использование законов де Моргана в R - PullRequest
1 голос
/ 04 октября 2019

В моем вопросе говорится, что законы ДеМоргана в R обозначаются следующим образом:

!(A&B)==(!A)|(!B)
!(A|B)==(!A)&(!B)

Затем говорится, что для подтверждения каждого равенства используются таблицы истинности. Я только начал изучать R, поэтому я не знаком со сложным кодированием.

Что я сделал, так это попытался доказать их обоих на примере.

A <- c(0,1,0,1,1)
B <- c(1,1,0,0,1)
!(A&B)==(!A)|(!B)
!(A|B)==(!A)&(!B)

Вывод

> A <- c(0,1,0,1,1)
> B <- c(1,1,0,0,1)
> !(A&B)==(!A)|(!B)
[1] TRUE TRUE TRUE TRUE TRUE
> !(A|B)==(!A)&(!B)
[1] FALSE FALSE  TRUE  TRUE FALSE

Они оба предполагают, что дают одинаковые ответы, не так ли?

1 Ответ

3 голосов
/ 04 октября 2019

Это проблема порядка операций. См. ?Syntax и добавьте скобки следующим образом:

A <- c(0,1,0,1,1)
B <- c(1,1,0,0,1)

(!(A&B))==((!A)|(!B))
## [1] TRUE TRUE TRUE TRUE TRUE

(!(A|B))==((!A)&(!B))
## [1] TRUE TRUE TRUE TRUE TRUE
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...