[問題] 請問這段程式碼的意思

作者: PTTOuO (五股畢書盡)   2017-09-24 16:08:24
[問題類型]:
程式碼諮詢
[軟體熟悉度]:
入門(寫過其他程式,只是對語法不熟悉)
[問題敘述]:
答案是 1101,主要的原因是不知道apply後面參數的3和rw是代表什麼意思,是c=3,rw=x矩
陣嗎?那第二段程式碼sum(rw[1:c]) / c 是把1:c列的數字加總再除以c?
[程式範例]:
copymaj <- function(rw,c) {
maj <- sum(rw[1:c]) / c
return(ifelse(maj > 0.5,1,0))
}
(x <- matrix(c(1,1,1,0,0,1,0,1,1,1,0,1,1,1,1,1,0,0,1,0),nrow = 4))
apply(x,1,copymaj,3)
[環境敘述]:
R version 3.4.1 (2017-06-30)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
Matrix products: default
locale:
[1] LC_COLLATE=Chinese (Traditional)_Taiwan.950
[2] LC_CTYPE=Chinese (Traditional)_Taiwan.950
[3] LC_MONETARY=Chinese (Traditional)_Taiwan.950
[4] LC_NUMERIC=C
[5] LC_TIME=Chinese (Traditional)_Taiwan.950
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_3.4.1 tools_3.4.1
作者: carl090105 (Jing)   2017-09-24 20:41:00
apply 1代表對列作運算,rw代表列向量;而apply中的3代表copymaj的c參數
作者: andrew43 (討厭有好心推文後刪文者)   2017-09-24 21:30:00
白話文就是 把x以列為單位,並使c=3的情況餵給copymaj
作者: PTTOuO (五股畢書盡)   2017-09-24 23:52:00
ok謝謝
作者: carl090105 (Jing)   2017-09-25 19:05:00
是的
作者: PTTOuO (五股畢書盡)   2017-09-28 15:12:00
謝謝

Links booklink

Contact Us: admin [ a t ] ucptt.com