版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第四講:語句組,循環(huán),條件控制1事件處理的邏輯模式順序執(zhí)行按條件作出是否執(zhí)行的判斷根據(jù)某種條件變化反復執(zhí)行根據(jù)不同的情況作出相應的執(zhí)行2一、組合表達式為實現(xiàn)某一功能而使各種命令表達式組合在一起形成一個復合表達式,形式一般為: expr_1 expr_2 expr_n 3二、條件控制語句if (condition1) statement1else if (condition2) statement2else statement3condition語句返回一邏輯值,為TRUE時執(zhí)行,為FALSE時跳過4邏輯運算符:& #邏輯與| #邏輯或 優(yōu)先對向量的第一個元素進行運算& #邏輯與| #邏輯或!
2、#邏輯非 按照逐個元素的方式進行計算= #恒等 #大于= #大于等于 #小于= #小于等于5x=10) x=,x,n) else if (x=7) x=,x,n) else x=,x,n) 例子:6 x=10) x=,x,n) else if (x=7) x=,x,n) else x=,x,n) 7X-1:9 #x X Y X ,1 ,21, 1 32, 2 4 Y ,1 ,21, 1 42, 2 53, 3 6 outer(Y,X) #Y%o%X, , 1, 1 ,1 ,21, 1 42, 2 53, 3 6, , 2, 1 ,1 ,21, 2 82, 4 103, 6 12, , 1, 2
3、 ,1 ,21, 3 122, 6 153, 9 18, , 2, 2 ,1 ,21, 4 162, 8 203, 12 24兩個數(shù)組的外積9 outer(Y,X,FUN=+), , 1, 1 ,1 ,21, 2 52, 3 63, 4 7, , 2, 1 ,1 ,21, 3 62, 4 73, 5 8, , 1, 2 ,1 ,21, 4 72, 5 83, 6 9, , 2, 2 ,1 ,21, 5 82, 6 93, 7 10 X ,1 ,21, 1 32, 2 4 Y ,1 ,21, 1 42, 2 53, 3 6可以改變計算函數(shù)FUN:+,-,*,/,10outer(X,Y,FUN=“
4、*”):提取兩個矩陣的屬性11outer(X,Y,FUN=“*”):兩個矩陣的外積計算過程12 Vender ProduceName Type Type6 Mem Frequency Price MemInfo MemInfo Vender ProduceName Type Mem Frequency Price1 Vender1 256MB DDR 400 DDR 256 400 3152 Vender2 256MB DDR 333 DDR 256 333 3003 Vender3 512MB DDR 400 DDR 512 400 6504 Vender4 256MB DDR 400 DD
5、R 256 400 2805 Vender5 256MB DDR 333 DDR 256 333 2656 Vender6 256MB SDRAM 266 SDRAM 256 266 2657 Vender7 256MB DDR 400 DDR 256 400 2908 Vender8 256MB DDR 400 DDR 256 400 3459 Vender9 512MB DDR 400 DDR 512 400 575定義一個數(shù)據(jù)框13 rep(expensive,length(MemInfo$Price)-ExpStr rep(cheap,length(MemInfo$Price)-Che
6、apStr ifelse(MemInfo$Price300,ExpStr,CheapStr)-PriceDescription PriceDescription1 expensive cheap expensive cheap cheap“ cheap 7 cheap expensive expensiveIfelse (condiction,a,b) #這個表達式返回一個向量,其長度為a,b中的最大長度.當conditioni為真時返回ai,否則返回bi.例子:根據(jù)內(nèi)存的基本數(shù)據(jù),我們定義價格大于300的內(nèi)存的價格為expensive,否則為cheap14練習4.1自行設計一個條件控制例子,
7、條件中包含邏輯運算符號&,|和!15三、循環(huán)for循環(huán) for (name in statement) expr #其中name為循環(huán);statement一般為一向量;expr一般為組合表達式 for (n in c(2,5,10,20,50)+ + x-rnorm(n)+ cat(n,:,sum(x2),n)+ 2 : 0.4124139 5 : 5.202875 10 : 13.96513 20 : 20.07696 50 : 58.16209 例子16例子:定義一個長度為100、mean=1,sd=1的正態(tài)分布隨機向量,并找出該向量的最小值及其出現(xiàn)的位置 norm-rnorm(100,1
8、,1) #隨機向量 min.norm-100 #設定初始最大值 for (i in 1:100) if (normi=min.norm) min.norm=normi min.count=i #第i個值與現(xiàn)有最大值做比較,如果比最大值大則更新最大值,并記錄位置,否則不做處理17練習4.2找出以上向量的最大值及其出現(xiàn)的位置。找處100次產(chǎn)生的隨機向量的最小值于出現(xiàn)位置的關系。(用plot(min.count,min.norm)表示,其中min.count為位置向量,min.norm為最小值向量)18 norm-rnorm(100,1,1) max.norm=max.norm) max.norm=
9、normi max.count=i 19for (j in 1:100) min.n-0 norm-rnorm(100,1,1) min.normj-100 for (i in 1:100) if (normi count repeat+ + if(MemInfo$Memcount=256)+ MemInfo$Pricecountlength(MemInfo$Price)+ break+ MemInfo Vender ProduceName Type Mem Frequency Price1 Vender1 256MB DDR 400 DDR 256 400 346.52 Vender2 25
10、6MB DDR 333 DDR 256 333 330.03 Vender3 512MB DDR 400 DDR 512 400 650.04 Vender4 256MB DDR 400 DDR 256 400 308.05 Vender5 256MB DDR 333 DDR 256 333 291.56 Vender6 256MB SDRAM 266 SDRAM 256 266 291.57 Vender7 256MB DDR 400 DDR 256 400 319.08 Vender8 256MB DDR 400 DDR 256 400 379.59 Vender9 512MB DDR 4
11、00 DDR 512 400 575.0例子:將容量為256M的內(nèi)存的價格普調(diào)增長10%22四、分支控制語句switch(statement,list) #switch語句根據(jù)判定條件的不同而執(zhí)行不同的分支語句。首先執(zhí)行statement,其返回值范圍為1到list的長度。Switch語句執(zhí)行l(wèi)ist中包含的語句,并將結果返回。23for (count in 1:length(MemInfo$Price) if (MemInfo$Frequencycount=266) case-1 else if(MemInfo$Frequencycount=333) case-2 else case-3 s
12、witch(case, MemInfo$Pricecount-MemInfo$Pricecount*1.1 , MemInfo$Pricecount-MemInfo$Pricecount*1.15 , MemInfo$Pricecount-MemInfo$Pricecount*1.12 ) 例子:將頻率為266,333,400的內(nèi)存的價格分別增加10%,15%,12%24count-1 repeat switch(as.character(MemInfo$Frequencycount), 266=MemInfo$Pricecount-MemInfo$Pricecount*1.1, 333=MemInfo$Pricecount-MemInfo$Pricecount*1.15, 400=MemInfo$Pricecountlength(MemInfo$Price) break switch語句中的statement部分可以直接返回字符型矢量,并根據(jù)返回結果做相應處理。25練習4.3從小寫字母表的前5個中隨機抽取一個字母,并按抽取字母的不同做以下操作: a:用apply函數(shù)按列來求出datasets包中數(shù)據(jù)命名為ability.cov的數(shù)據(jù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度化肥品牌形象設計與推廣服務合同
- 2025年度城市綠化與景觀工程設計合同
- 2025年度環(huán)保技術居間轉讓合同協(xié)議
- 2025年度城市歷史文化保護工程設計合同協(xié)議書
- 2025年度環(huán)保設備回購合同協(xié)議書
- 2025年度掛靠汽車租賃與跨境電商物流合同
- 2025年度家暴離婚協(xié)議書模板升級版制作及培訓合同
- 2025年度工地混凝土工程防滲漏技術改造合同
- 2025年工業(yè)地產(chǎn)項目土地開發(fā)轉讓合同
- 2025年度智能凈水器升級改造項目合同范本
- 循環(huán)系統(tǒng)練習試題(含答案)
- 新生兒黃疸早期識別課件
- 醫(yī)藥營銷團隊建設與管理
- 二年級數(shù)學上冊口算題100道(全冊完整)
- 冷軋工程專業(yè)詞匯匯編注音版
- 小升初幼升小擇校畢業(yè)升學兒童簡歷
- 第一單元(金融知識進課堂)課件
- 五年級語文閱讀訓練20篇專項訓練帶答案解析
- 介入導管室護士述職報告(5篇)
- GB/T 37062-2018水產(chǎn)品感官評價指南
- 零件的工藝分析及毛坯選擇
評論
0/150
提交評論