R-programming(Week1)
- 格式:pdf
- 大小:391.06 KB
- 文档页数:60


1是控制條件,exprc 林建甫(October27,2006)·2·5.2條件控制語言1回傳一個純量,若expr2之表達式或運算式;若expr3之表達式或運算式;若無exprc Jeff Lin醫學統計與R第5章:常用的R程式語言·3·1控制條件有許多項,常用的捷徑是&&或||,操作&&(and)與||(or),condition_1&&conditions_2condition_1||condition_2每個條件(condition)是為一個純量的邏輯值(logical value),當使用&&時,僅有在condition2才執行判斷;當使用||時,僅有在condition2才執行判斷.這裏要注意&和|將用於向量的所有元素,而&&與||僅用於長度為1的純量.>#if-else&&and||>(x<-2:5)[1]2345>if(all(x>0)&&all(log(x))>0){y<-log(log(x));print(cbind(x,y));}else{cat(’some x<=1,unable to do log(log(x))\n’);}x y[1,]2-0.36651292[2,]30.09404783[3,]40.32663426[4,]50.47588500>>#if-else&&and||>(x<-0:3)[1]0123>if(all(x>0)&&all(log(x))>0){·4·5.2條件控制語言8).5.2.2ifelse()函式R是一個向量語言,幾乎所有動作都是對向量進行的.但R中的if-else條件控制,卻是一個少見的例外,它的判斷條件是純量的TRUE或FALSE.例如,想到用if-else進行:若x>0則=1,其它x=0,if(x>0)1else0但是當變數x是一個向量時,比較的結果也是一個向量,這時條件控制無法使用.所以這個運算式應該這樣寫>(x<-seq(-2,2))[1]-2-1012>if(x>0)1else0[1]0Warning message:條件的長度>1,因此只能用其第一元素in:if(x>0)1else0>y<-numeric(length(x))>y[x>0]<-1>y[x<=0]<-0>y[1]00011R提供了if-else條件語句向量形式的函數ifelse().它的使用方式是ifelse(condition, a,b),最終返回一個和長度最長的引數向量相同長度的向量.condition[i]為真時,該向量對應的元素是a[i],否則為b[i].>#ifelse()>(x<-seq(-2,2))[1]-2-1012>ifelse(x>0,1,0)[1]00011第5章:常用的R程式語言·5·1,expr3),對switch()而言,指令中的第一個引數condition是條件控制運算式,回傳整數或字串;令所有引數數目=所有expr加一(condition),若回傳正整數k,且回傳之正整數小於所有引數數目減一,則執行運算式expr醫學統計與R c Jeff Lin·6·5.3迴圈控制語言c Jeff Lin醫學統計與R第5章:常用的R程式語言·7·i計算最後的結果,引數需要由逗號(,)分隔.引數可以是內部自動設定值(default values)或在使用時輸入,區塊的·8·5.4函式撰寫與編輯1,expr=3x2+1,dx>#derviative>f.hm.dev<-function(x)3*x^2+1>x<-1:5>f.hm.dev(x)[1]413284976>f.hm.dev(x/3)[1]1.3333332.3333334.0000006.3333339.333333>f.hm.dev(x/pi)[1]1.3039642.2158543.7356725.8634178.599089在R指令提示(>)下輸入函式不方便修改,一般是用文字編輯軟體(如Tinn-R),輸入函式定義,儲存成檔案,(檔案應該僅包含文字和空白沒有其他的型態資訊),比如儲存到了X:\temp\Rdata\fhmdev.r,用>source("c://temp//Rdata//fhmdev.r")輸入檔案中的函式.任何R程式都可以用這種方式編好,儲存成檔案,再輸入.對於一個已有的函式,可以用fix()函式來修改,如:>fix(f.hm.dev)R會開啟一個編輯視窗,顯示函式的內容,修改後再關閉編輯視窗,修改就完成了.第5章:常用的R程式語言·9·1,arg醫學統計與R c Jeff Lin·10·5.4函式撰寫與編輯c Jeff Lin醫學統計與R第5章:常用的R程式語言·11·醫學統計與R c Jeff Lin·12·5.4函式撰寫與編輯c Jeff Lin醫學統計與R第5章:常用的R程式語言·13·醫學統計與R c Jeff Lin·14·5.5機率與亂數生成函式c Jeff Lin醫學統計與R第5章:常用的R程式語言·15·醫學統計與R c Jeff Lin·16·5.5機率與亂數生成函式Distribution R name additional arguments第5章:常用的R程式語言·17·醫學統計與R c Jeff Lin·18·5.7定制R環境選項PROFILE設定,如果該變數沒有設定,自動是R安裝目錄下面的子目錄etc中的Rprofile.site.這個檔案包括每次執行R時一些自動運行的指令.第二個定制檔案是.Rprofile,它可以放在任何目錄下.如果R在該目錄下面使用,這個檔案就會被載入.這個檔案允許使用者定制R工作空間,允許在不同的工作目錄下,設定不同的起始指令.如果在起始目錄中沒有.Rprofile,R會在主目錄下搜尋.Rprofile檔案並且使用.在這兩個Rprofile.site,.Rprofile或.RData中任何叫.First()的函式,都有特定的狀態.它會在R視窗開啟時自動執行並且初始化工作環境.這些檔案的執行順序是Rprofile.site,.Rprofile,第5章:常用的R程式語言·19·醫學統計與R c Jeff Lin。
R语言学习总结经过接近一个学期的学习,从对R语言的完全陌生,到现在对其有了一些粗浅的认识,其中经历了遇到困难苦思冥想的艰辛,也有解决问题以后豁然开朗的畅快。
在学习的过程中,以前掌握的数理基础给我带来了不少便利,而认真地态度和踏实的性格也使我获益匪浅。
在这个学期中,我学会了R语言的基本操作和语法,以及针对具体的统计学问题相应的解决方法.并按时完成老师布置的课后作业,以达到学以致用的目的,也加强了对R语言操作的熟练度。
一、初识R软件R软件是一套完整的数据处理、计算和制图软件系统。
其功能包括:据存储和处理,数组运算,完整连贯的统计分析工具,优秀的统计制图功能已及简便而强大编程语言。
接触R语言以后,我的第一感觉就是方便和强大。
R语言中有非常多的函数和包,我们几乎不用自己去编一些复杂的算法,而往往只需要短短几行代码就能解决很复杂的问题,这给我们的使用带来了极大地方便;于此同时,它又可操纵数据的输入输出,实习分支、循环,使用者可以自定义功能,这就意味着当找不到合适的函数或包来解决所遇的问题时,我们又可以自己编程去实现各种具体功能,这也正是R语言的强大之处。
二、学习心得在学习该书的过程中,我不仅加深了对统计学方法的理解,同时也掌握了R 软件的编程方法和基本技巧,了解了各种函数的意义和用法,并能把两者结合起来,解决实际中的统计问题。
1、R语言的基本语法及技巧R语言不仅可以进行基础的数字、字符以及向量的运算,内置了许多与向量运算有关的函数。
而且还提供了十分灵活的访问向量元素和子集的功能。
R语言中经常出现数组,它可以看作是定义了维数(dim属性)的向量.因此数组同样可以进行各种运算,以及访问数组元素和子集.二维数组(矩阵)是比较重要和特殊的一类数组,R可以对矩阵进行内积、外积、乘法、求解、奇异值分解及最小二乘拟合等运算,以及进行矩阵的合并、拉直等。
apply()函数可以在对矩阵的一维或若干维进行某种计算,例如apply(A,1,mean)表示对A按行求和.R语言允许将不同类型的元素放在一个集合中,这个集合叫做一个列表,列表元素总可以用“列表名[[下标]]”的格式引用。
R语言数据科学入门教程第一章:R语言介绍与安装1.1 R语言的历史和发展R语言起源于新西兰奥克兰大学的S语言,经过多年的发展和优化,成为一种功能强大且广泛使用的数据分析和统计编程语言。
1.2 R语言的特点介绍R语言的开源性、跨平台性、扩展性以及丰富的统计分析和数据可视化功能。
1.3 R语言的安装和配置详细介绍如何下载、安装和配置R语言及其相关的集成开发环境(IDE),例如RStudio。
第二章:R语言基础2.1 R语言的基本语法和命令行界面介绍R语言的基本语法规则,解释如何使用R语言的命令行界面进行交互式编程。
2.2 变量和向量介绍R语言中变量的定义和使用方法,以及如何创建和操作向量。
2.3 数据类型和数据结构详细介绍R语言的不同数据类型(如数值型、字符型、逻辑型等),以及常见的数据结构(如数组、矩阵、数据框等)。
2.4 条件语句和循环介绍在R语言中如何使用条件语句(如if-else语句)和循环语句(如for循环和while循环)。
第三章:数据处理与清洗3.1 数据导入与导出介绍如何使用R语言导入和导出各种常见格式的数据文件,包括CSV、Excel、JSON等。
3.2 数据读取和预览介绍如何使用R语言读取和预览数据,包括查看数据的前几行、数据结构和摘要统计信息等。
3.3 缺失值处理介绍如何处理数据中的缺失值,包括删除含有缺失值的观测值或变量、插补缺失值等方法。
3.4 数据变换和重构介绍如何使用R语言对数据进行变换和重构,包括变量转换、数据透视表和合并数据集等操作。
第四章:数据分析与可视化4.1 描述性统计分析介绍如何使用R语言进行常见的描述性统计分析,例如计算均值、中位数、标准差等。
4.2 统计图表绘制详细介绍R语言中的数据可视化功能,包括绘制直方图、散点图、折线图、箱线图等常见图表。
4.3 统计推断和假设检验介绍如何使用R语言进行统计推断和假设检验,包括t检验、方差分析、回归分析等常见的假设检验方法。