freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

r程序設(shè)計(jì)ppt課件(編輯修改稿)

2025-06-01 18:22 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 調(diào)用函數(shù)。 ?在命令行輸入函數(shù)程序很不方便修改,所以我們一般是打開(kāi)一個(gè)其他的編輯程序(如 Windows 的記事本),輸入以上函數(shù)定義,保存文件,比如保存到了 E:\R\,我們就可以用 ? source(“E:/R/) ?運(yùn)行文件中的程序。實(shí)際上,用 source()運(yùn)行的程序不限于函數(shù)定義,任何 R程序都可以用這種方式編好再運(yùn)行,效果與在命令行直接輸入是一樣的。 參數(shù)(自變量) ?函數(shù)可以帶虛參數(shù)(形式自變量)。 R函數(shù)調(diào)用方式很靈活,例如,如下函數(shù): fsub =function(x, y) xy 有兩個(gè)虛參數(shù) x和 y,我們用它計(jì)算 10045,可以調(diào)用 fsub(100,45),或 fsub(x=100,y=45) ,或fsub(y=45, x=100),或 fsub(y=45, 100)。即調(diào)用時(shí)實(shí)參與虛參可以按次序結(jié)合,也可以直接指定虛參名結(jié)合。實(shí)參先與指定了名字的虛參結(jié)合,沒(méi)有指定名字的按次序與剩下的虛參結(jié)合。 ?函數(shù)在調(diào)用時(shí)可以不給出所有的實(shí)參, 這需要在定義時(shí)為虛參指定缺省值 。例如上面的函數(shù)改為: ? fsub = function(x, y=0) xy ? 則調(diào)用時(shí)除了可以用以上的方式調(diào)用外還可以用fsub(100), fsub(x=100)等方式調(diào)用,只給出沒(méi)有缺省值的實(shí)參。 作用域 ?函數(shù)的虛參完全是 按值傳遞 的,改變虛參的值不能改變對(duì)應(yīng)實(shí)參的值。例如: ? x = list(1, abc) x ? f =function(x) {x[[2]] !! 。x} f(x) x ? 函數(shù)體內(nèi)的變量也是局部的,對(duì)函數(shù)體內(nèi)的變量賦值當(dāng)函數(shù)結(jié)束運(yùn)行后變量值就刪除了,不影響原來(lái)同名變量的值。例如: ? x = 2 f = function() {print(x) 。 x= 20。 print(x) } f() [1] 2 x [1] 2 ? 這個(gè)例子中原來(lái)有一個(gè)變量 x值為 2,函數(shù)中為變量 x賦值20,但函數(shù)運(yùn)行完后原來(lái)的 x值并未變化。但是也要注意,函數(shù)中的顯示函數(shù)調(diào)用時(shí)局部變量 x還沒(méi)有賦值,顯示的是全局變量 x 的值。 這是 R編程比較容易出問(wèn)題的地方:你用到了一個(gè)局部變量的值,你沒(méi)有意識(shí)到這個(gè)局部變量還沒(méi)有賦值,而程序卻沒(méi)有出錯(cuò),因?yàn)檫@個(gè)變量已有全局定義。 程序調(diào)試 ?SPLUS和 R目前還不象其它主流程序設(shè)計(jì)語(yǔ)言那樣具有單步跟蹤 、 設(shè)置斷點(diǎn) 、 觀察表達(dá)式等強(qiáng)勁的調(diào)試功能 。 要調(diào)試復(fù)雜的 R程序 ,可以用一些通用的程序調(diào)試方法 , 另外 R也提供了一些調(diào)試用的函數(shù) 。 ?對(duì)任何程序語(yǔ)言 , 最基本的調(diào)試手段當(dāng)然是在需要的地方顯示變量的值 。 可以用 print() 或 cat()顯示 。 例如 , 我們?yōu)榱苏{(diào)試前面定義的 larger()函數(shù) , 可以顯示兩個(gè)自變量的值及中間變量的值: ? larger function(x, y){ cat(39。x = 39。, x, 39。\n39。) 。cat(39。y = 39。, y, 39。\n39。)。 =(yx)。 cat(39。 = 39。, , 39。\n39。) 。x[] = y[] 。x } ? R提供了一個(gè) browser()函數(shù),當(dāng)調(diào)用時(shí)程序暫停,用戶(hù)可以查看變量或表達(dá)式的值,還可以修改變量。例如: ? larger= function(x, y){ (yx)。 browser() 。x[] =y[]。 x 。} ? 我們運(yùn)行此程序: larger(c(1,3,5),c(2, 4, 9)) ? 退出 R的 browser()菜單可用 c(在 SPlus中用return())。 ? 在 R的 browser()狀態(tài)下用 n命令可以進(jìn)入單步執(zhí)行狀態(tài),用 n或者回車(chē)可以繼續(xù),用 c可以回到下一個(gè) browser()處,用 Q可以退出。 ? R提供了一個(gè) debug()函數(shù), debug(f)可以打開(kāi)對(duì)函數(shù) f()的調(diào)試,執(zhí)行到函數(shù) f時(shí)自動(dòng)進(jìn)入單步執(zhí)行的 browser()菜單。用 undebug(f)關(guān)閉調(diào)試。 ? 試試 larger(c(1,5),c(2, 4, 9)) ? Warning message:長(zhǎng)的目標(biāo)對(duì)象長(zhǎng)度不是短的目標(biāo)對(duì)象長(zhǎng)度的整倍數(shù) Called from: larger(c(1, 5), c(2, 4, 9)) Browse[1] y [1] 2 4 9 Browse[1] x [1] 1 5 Browse[1] yx Warning in y x : longer object length is not a multiple of shorter object length [1] TRUE FALSE TRUE Browse[1] c Error: subscript (3) out of bounds, should be at most 2 程序設(shè)計(jì)舉例 ?設(shè)計(jì) R程序是很容易的 , 在初學(xué)時(shí)我們只要使用我們從一般程序設(shè)計(jì)中學(xué)來(lái)的知識(shí)并充分利用 R中現(xiàn)成的各種算法及繪圖函數(shù)就可以了 。 但是 , 如果要用 R編制計(jì)算量較大的程序 , 或者程序需要發(fā)表 , 就需要注意 R程序設(shè)計(jì)的一些技巧 。 ?用 R語(yǔ)言開(kāi)發(fā)算法 , 最重要的一點(diǎn)是要記住R是一個(gè)向量語(yǔ)言 , 計(jì)算應(yīng)該盡量通過(guò)向量 、矩陣運(yùn)算來(lái)進(jìn)行 , 或者使用 R提供的現(xiàn)成的函數(shù) , 避免使用顯式循環(huán) 。 顯式循環(huán)會(huì)大大降低 R的運(yùn)算速度 , 因?yàn)?R是解釋執(zhí)行的 。 編 寫(xiě) 函 數(shù) 寫(xiě)函數(shù) :中位數(shù)和均值的比值函數(shù) 用該函數(shù) 計(jì)算一萬(wàn)個(gè) (均值為 1的 )指數(shù)分布的中位數(shù)和均值的比 function(x) { return(median(x)/mean(x)) } z rexp(10000) (z) 函數(shù) ?函數(shù)之例 :中位數(shù)和均值的比值函數(shù) 用該函數(shù) 計(jì)算一萬(wàn)個(gè) (均值為 1的 )指數(shù)分布的中位數(shù)和均值的比 ? function(x) {return(median(x)/mean(x))} ?z rexp(10000) ?(z) ?在函數(shù)中的 {}中間 ,可以有多個(gè)語(yǔ)句 。語(yǔ)句之間用換行或分號(hào) (。)分開(kāi) . 函數(shù)的編輯 ?fix() ? 這時(shí)會(huì)出現(xiàn)一個(gè)記事本編輯器 ? 編輯并試圖存了之后如果發(fā)生錯(cuò)誤 (不會(huì)存 ),往往會(huì)讓你編輯改過(guò)但有語(yǔ)法錯(cuò)誤的 fix()。 ?如果還使用fix()則是編輯以前的版本 . 函數(shù) ?函數(shù)可以有缺省值 ,例如 ?Expo=function(y,x=2) {z=y^x。z} ?y=seq(0,1,length=100)。plot(y,Expo(y),type=l) ?函數(shù)可以不寫(xiě) return,這時(shí)最后一個(gè)值為 return的值 .為了輸出多個(gè)值最好使用 list. : n=1:10。 x=sin(n*pi/10)。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1