第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

布爾運(yùn)算符&和

布爾運(yùn)算符&和

布爾運(yùn)算符&和根據(jù)R語(yǔ)言定義,之間的區(qū)別&和&&(相應(yīng)地)|和||)前者是向量化的,而后者則不是。根據(jù)幫助文本,我讀到了類似于“and”和“andAu”(相應(yīng)的“或”和“Orelse”)之間的差異.意思:不是所有的評(píng)估,如果它們不是必須是(即A或B或C總是正確的,如果A是真的,所以停止計(jì)算如果A是真的)有人能幫我照亮這里嗎?還有,R中是否有一個(gè)和Orelse?
查看完整描述

3 回答

?
楊魅力

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊

較短的部分被矢量化,這意味著它們可以返回一個(gè)向量,如下所示:

((-2:2) >= 0) & ((-2:2) <= 0)# [1] FALSE FALSE  TRUE FALSE FALSE

較長(zhǎng)的表單從左到右計(jì)算,只檢查每個(gè)向量的第一個(gè)元素,因此上面給出

((-2:2) >= 0) && ((-2:2) <= 0)# [1] FALSE

正如幫助頁(yè)面所指出的,這使得更長(zhǎng)的表單“適合于編程控制流,并且在if子句中通常是首選的?!?/trans>

所以,只有在確定向量長(zhǎng)度為1時(shí),才需要使用長(zhǎng)形式。

你應(yīng)該絕對(duì)一點(diǎn)兒沒(méi)錯(cuò)某些情況下,向量只有1長(zhǎng)度,例如當(dāng)它們是只返回長(zhǎng)度1布爾值的函數(shù)時(shí)。如果向量長(zhǎng)度可能大于1,則需要使用短形式。因此,如果您不能完全確定,您應(yīng)該先檢查,或者使用簡(jiǎn)短的形式,然后使用allany將其縮減為長(zhǎng)度,以便在控制流語(yǔ)句中使用,如if.

功能allany通常用于向量化比較的結(jié)果,以查看所有或任何比較分別是否為真。這些函數(shù)的結(jié)果肯定是1,因此它們適合用于if子句,而向量比較的結(jié)果則不適用。(雖然這些結(jié)果適合用于ifelse.

最后一個(gè)區(qū)別是:&&||只需要評(píng)估盡可能多的術(shù)語(yǔ)(這似乎就是短路的意思)。例如,下面是一個(gè)使用未定義值的比較a如果它沒(méi)有短路,如&|別這樣,會(huì)出錯(cuò)的。

a# Error: object 'a' not foundTRUE || a# [1] TRUEFALSE && a# [1] FALSETRUE | a# Error: object 'a' not foundFALSE & a# Error: object 'a' not found

最后,見第8.2.17節(jié)R-地獄,標(biāo)題為“and”。


查看完整回答
反對(duì) 回復(fù) 2019-06-15
?
狐的傳說(shuō)

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊

關(guān)于“短路”是潛在的誤導(dǎo),但有一些事實(shí)(見下文)。在R/S語(yǔ)言中,&&||只計(jì)算第一個(gè)參數(shù)中的第一個(gè)元素。不管第一個(gè)值是多少,向量或列表中的所有其他元素都會(huì)被忽略。這些運(yùn)算符設(shè)計(jì)用于使用if (cond) {} else{}構(gòu)造和指導(dǎo)程序控制而不是構(gòu)造新的矢量。這個(gè)&|運(yùn)算符被設(shè)計(jì)成在向量上工作,因此它們將被“并行地”應(yīng)用,也就是說(shuō),沿著最長(zhǎng)的論證的長(zhǎng)度。如果向量不是相同的長(zhǎng)度,則執(zhí)行較短參數(shù)的循環(huán)。

當(dāng)&&||如果從左到右連續(xù)的任何值都是決定性的,則計(jì)算停止并返回最終值。

> if( print(1) ) {print(2)} else {print(3)}

[1] 1

[1] 2

> if(FALSE && print(1) ) {print(2)} else {print(3)} # `print(1)` not evaluated

[1] 3

> if(TRUE && print(1) ) {print(2)} else {print(3)}

[1] 1

[1] 2

> if(TRUE && !print(1) ) {print(2)} else {print(3)}

[1] 1

[1] 3

> if(FALSE && !print(1) ) {print(2)} else {print(3)}

[1] 3


查看完整回答
反對(duì) 回復(fù) 2019-06-15
  • 3 回答
  • 0 關(guān)注
  • 663 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)