1. R语言常用数学函数
R语言常用数学函数
sum()、max()、min()、mean()、median()
prod(x) 对x中的元素都连乘
which.max(x) 返回x中最大元素的下标
which.min(x) 返回x中最小元素的下标
range(x) 值域
rev(x) 对x中的元素取逆序
sort(x) 将x中的元素将升序排列
pmin(x,y) 返回一个向量,它的第i个元素是x[i],y[i] 中最小值
pmax(x,y) 返回一个向量,它的第i个元素是x[i],y[i] 中最大值
cumsum(x) 求累积和,返回一个向量,第i个元素等于x[1]到x[i]的和
cumprod(x) 求累积(从左到右)乘积
cummin(x) 求累积最小值(从左到右)
cummax(x) 求累积最大值(从左到右)
match(x,y) 返回一个和x的长度相同的向量,第i个元素表示y中与x[i]相同的元素的位置(没有则返回NA)
na.omit(x) 函数忽略有缺失值(NA)的观察数据(如果x是矩阵或数据框则忽略相应的行)
na.fail(x) 如果x包含至少一个NA则返回一个错误消息
which() 返回符合条件的元素的下标
choose 组合数,二项式,例choose(4,2) 返回6
rep(x,y) 将x重复y次
unique(x) 去掉重复的元素,只取一个
table(x) 返回一个列表,给出y中重复元素的个数列表
subset(x,条件) 返回x中满足特定条件的子集
2. R语言之 常用的统计函数
用的最多的,是求均值的mean()函数,当然这里也要提到,像sum()这种求和函数, 还有sd(x) 标准差函数,var(x) 方差函数。min()求最小值,max()求最大值。 我们来具体试试,这里使用一个向量: test max(test) [1] 19 求最小值 > min(test) 求和 > sum(test) [1] 43 求标准差,求方差 > sd(test) [1] 65.01154 > var(test) [1] 4226. 在来试试最重要的均值 > mean(test) [1] 48.66667 另外中位数计算。使用median()函数 > median(test) [1] 23
如果给定一种概率分布,通常会有四类计算问题: 计算其概率密度density (d)计算其概率分布probability(p)计算其百分位数quantile (q)随机数模拟random (r)上面四类计算对应的英文首字母,就是R语言类率分布函数的开头字母。 比如说,正态分布是norm的化,那密度函数就是dnorm(),分布函数就是pnorm(), 更有用的是用相应分布生成随机数,比如rnorm(),就会生成服从正态分布的随机数。 比如我们生成100个服从正态分布的随机数 rnorm(100) [1] -9.064408e-01 1.026560e+00 -1.097470e+00 1.055395e+00 9.377175e-01 [6] -2.080103e-01 -3.092396e-01 -8.739942e-01 -1.242774e+00 1.102486e+00 [11] 1.082092e+00 -1.695528e+00 -5.930809e-01 -2.100800e-01 8.253859e-01 [16] -1.112551e+00 -3.960474e-01 -9.354820e-01 7.291608e-01 -3.773510e-01 [21] -3.438082e-01 -7.378688e-02 -9.047609e-01 -1.036344e+00 9.485103e-01 [26] -3.437985e-01 -2.145275e-02 1.350098e+00 -1.283633e+00 3.767240e-01 [31] 1.169566e+00 -4.325399e-01 -9.215626e-02 3.839357e-01 3.045491e-01
......
我们再用相应的频率分布直方图来看一下,这些生成的随机数: hist(rnorm(100)) R就画出了这些随机数的频率分布图
3. R语言 求解答,谢谢。
原假设:沙门氏菌的平均水平mu<=0.3MPN/g
对立假设:沙门氏菌的平均水平mu>0.3MPN/g
设向量
>vec<-c(0.593,0.142,0.329,0.691,0.231,0.793,0.519,0.392,0.418)
用t检验
>t.test(vec,mu=0.3,alternative="greater",conf.level=0.01)
t.test 是t检验
括号里第一个参数vec是检验的数据
mu=0.3 是检验均值
alternative="greater" 对立假设是大于号
conf.level=0.01 置信水平α=0.01
结果是
One Sample t-test
data: vec
t = 2.2051, df = 8, p-value = 0.02927
alternative hypothesis: true mean is greater than 0.3
1 percent confidence interval:
0.6619424 Inf
sample estimates:
mean of x
0.4564444
p-value = 0.02927>0.01 不能否定原假设 在置信水平α=0.01的情况下。
但是在α=0.05的情况下,就可以否定原假设,认为冰激凌中的沙门氏菌超出警戒水平0.3MPN/g
4. R的R语言
R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。R 是统计领域广泛使用的诞生于1980年左右的 S 语言的一个分支。R是S语言的一种实现。S语言是由 AT&T贝尔实验室开发的一种用来进行数据探索、统计分析、作图的解释型语言。最初S语言的实现版本主要是S-PLUS。S-PLUS是一个商业软件,它基于S语言,并由MathSoft公司的统计科学部进一步完善。后来Auckland大学的Robert Gentleman 和 Ross Ihaka 及其他志愿人员开发了一个R系统。R的使用与S-PLUS有很多类似之处,两个软件有一定的兼容性。S-PLUS的使用手册,只要经过不多的修改就能成为 R的使用手册。所以有人说:R,是S-PLUS的一个“克隆”。但是请不要忘了:R is free。R是一套完整的数据处理、计算和制图软件系统。其功能包括:数据存储和处理系统;数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的统计制图功能;简便而强大的编程语言:可操纵数据的输入和输出,可实现分支、循环,用户可自定义功能。与其说R是一种统计软件,还不如说R是一种数学计算的环境,因为R并不是仅仅提供若干统计程序、使用者只需指定数据库和若干参数便可进行一个统计分析。R的思想是:它可以提供一些集成的统计工具,但更大量的是它提供各种数学计算、统计计算的函数,从而使使用者能灵活机动的进行数据分析,甚至创造出符合需要的新的统计计算方法。该语言的语法表面上类似 C,但在语义上是函数设计语言的(functional programming language)的变种并且和Lisp 以及 APL有很强的兼容性。特别的是,它允许在“语言上计算”(computing on the language)。这使得它可以把表达式作为函数的输入参数,而这种做法对统计模拟和绘图非常有用。R是一个免费的自由软件,它有UNIX、LINUX、MacOS和WINDOWS版本,都是可以免费下载和使用的,在那儿可以下载到R的安装程序、各种外挂程序和文档。在R的安装程序中只包含了8个基础模块,其他外在模块可以通过CRAN获得。
5. R语言基础知识笔记
1、向量是用于存储数值型,字符型或者逻辑型数据的一维数组。执行组合功能的函数为c(),可以用来创建向量。向量可根据位置进行索引,需要用[]。
2、矩阵是一个二维数组,每个元素都拥有相同的模式,可通过函数matrix()创建矩阵。
3、数组是一个可以在两个以上维度存储数据的数据对象。例如,如果创建尺寸(2,3,4)的数组,那么就是创建4个矩形矩阵每个2行3列。数组只能存储数据类型。
4、矩阵和数组一样都只能包含一种数据类型,当有多种模式的数据时,使用数据框就更为方便。数据框可以用函数data.frame () 创建。
5、$ 被用来选取一个给定数据框中的某个特定变量。
6、attach()绑定数据集,detach()解除数据集。
7、with:attach,detach最好在单独的数据框内使用,在多个同名对象最好不要使用,函数with(),可以再具有多个同名对象的数据框内使用,但是必须加入花括号{},这样就无须担心名称冲突了,但是它也有局限性,赋值仅在此函数的括号内生效。
8、列表是一些对象的有序集合。
9,、数据导入 read.table(),其中header = T,代表第一行为变量名称,不作为数据,header = F相反。sep代表数据分隔符,txt为"\t",csv为","。
10、table函数,用 table() 函数统计因子各水平的出现次数(称为频数或频率)。
>sex = c("女","女","女","男","男")
>table(sex)
>sex
男 女
2 3
求众数
> aim = table(sex)[table(sex)==max(table(sex))]
> aim
女
3
> max(table(sex))
[1] 3
> table(sex)==max(table(sex))
sex
男 女
FALSE TRUE
11、 无尺度网络: 是指在某一复杂的 系统 中,大部分节点只有少数几个连结,而某些节点却拥有与其他节点的大量连结。这些具有大量连结的节点称为“集散节点”,所拥有的连结可能高达数百、数千甚至数百万。这一特性说明该网络是无尺度的,因此,凡具有这一特性的网络都是无尺度网络。
12、options(stringsAsFactors = F)
#在调用as.data.frame的时,将stringsAsFactors设置为FALSE可以避免character类型自动转化为factor类型。
13、class():查看数据结构:vector、matrix、array、dataframe、list。
14、str():作用用英语来表示是:check classification of viriables,一般用于检查数据框当中有哪些数据。
15、mode() :查看数据元素类型。
16、typeof() :查看数据元素类型,基本等同于mode(),比mode()更为详细。
17、example():假设有一个函数foo,example("foo"),函数foo的使用示例。
18、apropos():列出名称中含有foo的所有可用函数。apropos("foo",mode="function")。
19、data():列出当前已加载包中所含的所有可用示例数据集。
20、ls():列出当前工作空间中的对象。
21、rm():移除(删除)一个或多个对象。
22、history(#):显示最近使用过的#个命令(默认值为25)。
23、options():显示或设置当前选项。有一个收藏文件有介绍options的功能。
24、boxplot():生成盒型图。
25、sum():计算和。sum(x,na.rm = TRUE)。
26、median():计算中位数。
27、cbind():以列结合变量。cbind(x,y,z)。
28、rbind():以行结合变量。
29、vector():以向量形式结合数据。vector(length = 10)。
30、rep():以矩阵形式结合数据。rep(c(1,,2,3),each = 10)
31、seq():生成一个有序的数列。seq(1,10)。
32、dim():矩阵或者cbind输出的维数。dim(Mydata)。
33、scan():从ascii文件中读取数据。scan(file = "test.txt")。
34、write.table():把一个变量写入到ascii文件。write.table(Z,file = "test.txt")。
35、order():确定数据的顺序。order(x)。
36、merge():合并两个数据框。merge(x,y,by = "ID")。
37、str():显示一个对象的内部结构。str(Mydata)。
38、factor():定义变量作为因子。factor(x)。
39、tapply():tapply(X = Veg$R,INDEX = Veg$Transect,FUN = mean).tapply函数根据第二个变量(Transect)的不同水平对第一变量(R)进行了求平均值运算。还可以求sd,var,length等操作。R语言初学者指南P75详细介绍了这个函数。
40、下一页介绍了sapply和lapply。
41、summary():计算基本信息。
42、table():计算列联表,统计因子各水平的出现次数(频数或频率)。table(x,y)。
43、plot():y对x的图形。pch形状,col颜色。
44、par():par(mfrow = c(2,2),mar = c(3,3,2,1))
mfrow生成一个具有4个面板的图形窗口。mar选项指定每个图形周围空白的大小,底部、左侧、顶部、右侧。
45、paste():将变量连接成字符串。paste("a","b",sep = "")。
46、log(): log = "x",log = "y",log = "xy",生成对数轴。
47、%in%:
a<-c(1,3,13,1443,43,43,4,34,3,4,3)
b<-c(1,13,11,1313,434,1)
a%in%b
# 返回内容#
[1] TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
# 取反操作
!(a%in%b)
48、sort()函数是对向量进行从小到大的排序
rank()函数返回的是对向量中每个数值对应的秩
order()函数返回的值表示位置,依次对应的是向量的最小值、次小值、第三小值……最大值等(位置索引)
arrange()函数(需加载dplyr包)针对数据框,返回基于某列排序后的数据框,方便多重依据排序。
49、subset(): df <- data.frame( a = 1:10, b = 2:11, c = 3:12 )
df <- subset(df, select = c(a,c)) #选取列a和c
df <- subset(df, select = -c(a,c) ) #去除列a和c
6. R语言的介绍
R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。
7. R语言的功能
R是一套完整的数据处理、计算和制图软件系统。其功能包括:数据存储和处理系统;数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的统计制图功能;简便而强大的编程语言:可操纵数据的输入和输出,可实现分支、循环,用户可自定义功能。与其说R是一种统计软件,还不如说R是一种数学计算的环境,因为R并不是仅仅提供若干统计程序、使用者只需指定数据库和若干参数便可进行一个统计分析。R的思想是:它可以提供一些集成的统计工具,但更大量的是它提供各种数学计算、统计计算的函数,从而使使用者能灵活机动的进行数据分析,甚至创造出符合需要的新的统计计算方法。该语言的语法表面上类似 C,但在语义上是函数设计语言(functional programming language)的变种并且和Lisp以及APL有很强的兼容性。特别的是,它允许在“语言上计算”(computing on the language)。这使得它可以把表达式作为函数的输入参数,而这种做法对统计模拟和绘图非常有用。R是一个免费的自由软件,它有UNIX、LINUX、MacOS和WINDOWS版本,都是可以免费下载和使用的。在那儿可以下载到R的安装程序、各种外挂程序和文档。在R的安装程序中只包含了8个基础模块,其他外在模块可以通过CRAN获得。R的源代码可自由下载使用,亦有已编译的执行档版本可以下载,可在多种平台下运行,包括UNIX(也包括FreeBSD和Linux)、Windows和MacOS。 R主要是以命令行操作,同时有人开发了几种图形用户界面。R内建多种统计学及数字分析功能。因为S的血缘,R比其他统计学或数学专用的编程语言有更强的物件导向(面向对象程序设计)功能。R的另一强项是绘图功能,制图具有印刷的素质,也可加入数学符号。虽然R主要用于统计分析或者开发统计相关的软体,但也有人用作矩阵计算。其分析速度可媲美GNU Octave甚至商业软件MATLAB。R的功能能够通过由用户撰写的套件增强。增加的功能有特殊的统计技术、绘图功能,以及编程界面和数据输出/输入功能。这些软件包是由R语言、LaTeX、Java及最常用C语言和Fortran撰写。下载的执行档版本会连同一批核心功能的软件包,而根据CRAN纪录有过千种不同的软件包。其中有几款较为常用,例如用于经济计量、财经分析、人文科学研究以及人工智能。
8. 什么是r语言