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

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

為什么`[`比‘子集’好‘?

為什么`[`比‘子集’好‘?

收到一只叮咚 2019-06-03 10:26:43
為什么`[`比‘子集’好‘?當(dāng)我需要過濾data.framework,即提取符合特定條件的行時(shí),我更喜歡使用subset職能:subset(airquality, Month == 8 & Temp > 90)而不是[職能:airquality[airquality$Month == 8 & airquality$Temp > 90, ]我喜歡的主要原因有兩個(gè):我發(fā)現(xiàn)代碼從左到右讀得更好。即使對(duì)R一無所知的人也能知道subset上面的聲明正在做。因?yàn)榱锌梢栽趕elect表情,我可以保存一些擊鍵。在上面的例子中,我只需鍵入airquality一次subset,但是有三次[.所以我過著幸福的生活subset到處都是,因?yàn)樗蹋x得更好,甚至向我的R程序員們宣傳它的美麗。但昨天我的世界崩潰了。在閱讀subset文檔,我注意到本節(jié):警告這是一個(gè)便于交互使用的功能。對(duì)于編程來說,最好使用[這樣的標(biāo)準(zhǔn)子集設(shè)置函數(shù),特別是參數(shù)子集的非標(biāo)準(zhǔn)計(jì)算可能會(huì)產(chǎn)生意想不到的后果。有人能幫我澄清作者的意思嗎?首先,他們所說的“供交互使用“?我知道什么是交互式會(huì)話,而不是以批處理模式運(yùn)行的腳本,但我不認(rèn)為它會(huì)產(chǎn)生什么不同。那么,請(qǐng)你解釋一下“參數(shù)子集的非標(biāo)準(zhǔn)求值“為什么它是危險(xiǎn)的,也許可以舉個(gè)例子?”
查看完整描述

2 回答

?
慕姐4208626

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

這是一個(gè)有點(diǎn)長(zhǎng)的閱讀,所以在這里記錄下Hadley使用的最直接地解決“什么會(huì)出錯(cuò)?”的例子可能是有幫助的:

Hadley建議如下示例:假設(shè)我們想要子集,然后使用以下函數(shù)重新排序數(shù)據(jù)幀:

scramble?<-?function(x)?x[sample(nrow(x)),?]subscramble?<-?function(x,?condition)?{
??scramble(subset(x,?condition))}subscramble(mtcars,?cyl?==?4)

這將返回錯(cuò)誤:

val中的錯(cuò)誤(Exr,Invir,Ends):找不到對(duì)象“cyl”

因?yàn)镽不再“知道”在哪里找到名為‘cyl’的對(duì)象。他還指出,如果在全球環(huán)境中偶然有一個(gè)叫做“cyl”的物體,那么可能會(huì)發(fā)生一些真正奇怪的事情:

cyl?<-?4subscramble(mtcars,?cyl?==?4)cyl?<-?sample(10,?100,?rep?=?T)subscramble(mtcars,?cyl?==?4)

(你自己跑吧,這太瘋狂了。)


查看完整回答
反對(duì) 回復(fù) 2019-06-03
?
POPMUISE

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

[更快:

require(microbenchmark)        microbenchmark(subset(airquality, Month == 8 & Temp > 90),airquality[airquality$Month == 8 & airquality$Temp
 > 90,])
    Unit: microseconds
                                                           expr     min       lq   median       uq    
                                                            max neval
                     subset(airquality, Month == 8 & Temp > 90) 301.994 312.1565 317.3600 349.4170 500.903   100
     airquality[airquality$Month == 8 & airquality$Temp > 90, ] 234.807 239.3125 244.2715 271.7885 340.058   100


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

添加回答

舉報(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)