В чем разница между ==1 и ==-1 в следующих кодах?

mydata1=data.frame(State=ifelse(sign(rnorm(6))==-1,"Mina","Mani"),Q1=sample(1:6))
mydata2= data.frame(State=ifelse(sign(rnorm(6))==1,"Mina","Mani"),Q1=sample(1:6))
0
Vin 20 Июн 2018 в 12:51

1 ответ

Лучший ответ

-1 - это просто инверсия оператора TRUE / FALSE в вашем коде. Вы можете воспроизвести свой код с помощью set.seed(x)

Sign () дает вам 1 и -1, поэтому, если вы возьмете свой пример:

sign(rnorm(6))

[1] -1 -1 1 1 1 1

Поэтому, если вы возьмете оператор равенства, вы просто спросите, -1 или 1. На самом деле вы хотите генерировать случайным образом имена в своем коде, поэтому это не имеет никакого значения. Но для понимания того, что произойдет, если вы поменяете числа:

set.seed((123))
sign(rnorm(6))==-1

[1] ИСТИНА ИСТИНА ЛОЖЬ ЛОЖЬ ЛОЖЬ

set.seed((123))
sign(rnorm(6))==1

[1] ЛОЖЬ ЛОЖЬ ИСТИНА ИСТИНА ИСТИНА ИСТИНА

С этой информацией ваш код продолжается

0
mischva11 20 Июн 2018 в 10:44