R语言第二课(4)

2018-11-21 21:31

t. stat <-function(x,y) {

n1<-length(x);n2<-length(y) X<-mean(x); Y<-mean(y) S1<-var(x); S2<-var(y)

S<-((n1-1)* S1+(n2-1)* S2)/( n1+n2-2) (X-Y)/sqrt(S*(1/n1+1/n2)) }

调用函数练习 例 已知两数据样本A和B,(见程序名exam0103.R), 或文本文件t1.txt(样本A数据)和t2.txt(样本B数据),计算量样本的统计量T。 解:或者按照exam0103.R程序执行(方法一); 或者在R操作窗口输入(方法二):

x<-scan(\ ##见第1页 执行结果:3.472245

注意:编写完的函数先运行一遍,才能调用它。 ........................................................完......................................... 有名参数与默认参数

1) 使用“name=object”的形式给出被调用函数中的参数名, 如name=t.stat,则这些参数可以按照任何顺序给出,如前面计算统计量,下面3种方法计算结果均相同: X<-scan(\

16

X<-scan(\X<-scan(\

2)编写R时可以采用默认参数,当函数被调用时,不输入参数系统自动选择默认参数: 定义计算样本的原点矩函数: moment<-function(x, k, mean=0)

########## mean为样本均值,默认值为0 sum((x-mean)^k)/length(x) ########计算样本的k阶原点矩

调用函数:

source(\

#####如果还没运行该函数,就用此代码调用它 X<-scan(\ moment(X,k=2)

#######也可在命令窗口中 直接输入 [1] 6403.324 ######结果

X<-scan(\ moment(X,k=2,mean=mean(X)) #######计算样本的中心矩 [1] 0.0005301775 ######结果

######注意:代码中的引号、括号、逗号都必须在R操作窗口 ######中打出的,或在英文下打出的,如在中文下打出的,R操

17

######作窗口不认。

递归函数: 可在函数自身内定义函数. 如计算n! (在文件factorial1.R里): fac = function(n) { f <- 1 if (n>0){ for(i in 1:n) f <- f * i } f }

上面的也可以用递归方法编写(在文件factorial2.R里): fac = function(n)

if (n <= 1) 1 else n * fac(n - 1)

调用函数:

source(\factorial1.R\n<-29 fac(n)

[1] 8.841762e+30 ######结果 source(\factorial2.R\

18

n<-29 fac(n)

[1] 8.841762e+30 ######结果一样 程序运行

1 建立自己的工作目录

可以用setwd(\选择自己设的工作目录\或“文件->改变工作目录”,如下图3

图3

双击“改变工作目录”,弹出“浏览文件夹窗口”,选择目录,按“确定”即可,在第一次退出时,保存工作空间,则子目录出现大个蓝色R的文件(后缀为.RData),以后再运行R时,双击这个蓝色R文件,所在的目录就是当前工作目录。

当保存脚本后,运行它,可把它打开,选择“编辑—>运行所有代码”,及运行了该文件。 2 工作空间

3 作用域:工作空间的变量为全局的,函数中的变量为局部的。 4 程序包:R系统中的自带函数,由各个程序包定义,可用search()

19

函数查看当前的程序包: > search() \

\

\

\ \ \\ \ \ 这9个是基本的程序包.

如果想知道程序包中包含了哪些函数,可用library ()函数,如library (help=\查看base中的函数。

给自定义的函数起名,最好与R系统中的函数名不要同名,若同名,可用包的名称加::调用R系统中的函数,如:base::t().

………………………………………..完………………………………………….

数值计算练习 一 矩阵运算:

1矩阵相乘: A %*% B表示两矩阵相乘(AB): 用%*% 符号 A<-matrix(1:9,nrow=3,byrow=T);A B<-matrix(1:9,nrow=3);B

C<-A %*% B ####表示两矩阵相乘 C

x<-1:3

A %*% x ####表示矩阵和向量相乘 x %*% A

2 矩阵转置: t( )为矩阵转置函数, AT 表示为t(A) A<-matrix(1:9,nrow=3,byrow=T);A t(A)

20


R语言第二课(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:5、学会感恩内容

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: