R命令 联系客服

发布时间 : 星期三 文章R命令更新完毕开始阅读6876c9e067ec102de3bd8905

length(x)针对向量返回长度,针对列表或者数据框返回维数 dim(x)//显示x的维度 str(x)//显示x的结构 class(x)//x的对象类型 mode(x)//对象模式

names(x)//对象中各成分的名称 head(x)//显示x的开始部分 tail(x)//显示x的最后部分 edit(x)/fix(x)//编辑x

options()//全局选项设定,如options(digits=3)将小数位数设为3 q() //退出

mean,sum中的na.rm=T参数表示移除缺失值,mean参数trim取值在0.1~0.5表示去除距离均值较大的异常值的比例

Sys.getenv(“HADOOP_CMD”)//获取环境

Sys.setenv(“HADOOP_CMD”=”/usr/local/hadoop/bin/hadoop”)//设置环境

安装Rhadoop时R或者Rstudio最好在sudosu后执行,不然总是很多问题,不要sudoR这样来做,要么R要么sudosu后R

levels(x)//查看x的水平

mean(x)//求平均数

dimnames(x,list(c('a','b','c'))

list是列表,列与列之间类型可以不同,选中i列采用x=[[i]],这样就可以把那一列选中

向量中追加元素:a=c(a,10),a[length(a)+1]=10

weighted.mean(x,w...)加权平均,权值是与x长度相同的w向量

sort(x)后各数据按有序排列,order向量的元素表示排序后该下标处的元素对应原向量的哪个位置,rank向量的元素表示相应下标处原向量的元素排序后的位置。 例:a=c(55,66,57,60,62,780)

1

sort(a) 5557 60 62 66 780

order(a) 13 4 5 2 6 7 8 该处3表示排序后处于下标2处的元素是57 rank(a) 15 2 3 4 6 7 8该处5表示66排序后在下标5处

sort()参数partial是指定排序的部分下标向量,methods指定排序方式?shell?(默认)?quick?,index.return=T返回一个列表第一个变量是排序顺序,第二个变量是排序的值(该下标处元素在原向量中的位置,等同于order(x)),decreasing指定顺序 例:找到值在50和90之间元素在原向量的下标号

order(x)[sort(x)>50&sort(x)<90] sort(x)>50返回一个逻辑向量 match(subset(x,x>50&x<90),x) which(x>50&x<90)

x[order(x[,2],decreasing=T),]针对矩阵x的第二列降序排序并得到排序后的矩阵

median(x)缺省不能处理带缺失值的数据(na.rm=F),注:很多函数默认不能处理缺失值

quantile(x,c(.25,.6),na.rm=T)

偏度系数刻画数据对称性指标,若数据关于均值对称则该系数为0,右侧更分散则为正,否则为负 中心矩u

峰度系数:正态分布为0,较整体分布时尾部分散数据较多为正(两侧极端数据更多),否则为负

在给定数据均值和方差的情形下(这里仅针对正态分布),它们均返回数值向量: dnorm(x,mean,sd)密度函数,参数指定一个数值型向量,返回拟合数据的密度函数(数值向量)

pnorm分布函数,参数指定一个数值型向量,返回拟合数据的分布函数 qnorm分位函数,参数指定概率向量,返回各个概率对应的分位数 rnorm随机函数,指定一个生成数目,返回随机数向量 有参数lower.tail=F时分布函数的计算方式和正常的反向

与此组函数相似的有:dunif,punif,qunif,runif它们指定在某个区间的正态数据

直方图:给定组距的情况下,考察数据落入各区间的频数或频率

2

hist(x,breaks,col)参数x是样本数据,breaks是组数(具体形式有:向量(起点,终点,组距),数值(组距),函数(组距)),col填充颜色

问:只画出样本数据中指定范围内的条形统计图?hist(x[x>2&x<10])

density(x)核密度函数,用样本数据估计密度函数 eg.plot(density(x)) 问:参数bw?

eg. hist(xwfreq=F)#禁用频数,否则纵坐标不在0-1之间 lines(density(w),col='red') x=x1:x2#这里值得注意下

lines(x,dnorm(x,mean(w),sd(w)),col='blue')

注:实践中反复出现的一个问题是画密度分布函数时纵坐标要在0-1之间

ecdf(x)估计总体分布函数

eg. plot(ecdf(x),verticals=T,do.p=F);lines(x,pnorm(x,mean(x),sd(x))参数verticals表示画竖线,do.p画点与否

plot(data.frame$a~data.frame$b)==plot(~data.frame$b+data.frame$a) plot(data.frame)==pairs(data.frame)

coplot(a~b|c)在给定因子或变量c下,作a关于b的散点图(处理多变量) dotchart(x...)画x的点图,y轴x的标记,x轴为x的数值 image()绘出三维图像的影响 contour(x,y,z)绘出三维图像的等值线 persp(x,y,z)绘出三维图形的表面曲线

注:z不是简单的冠以xy的运算,而是需要在函数f下作外积运算outer(x,y,f)形成网格才能绘出三维图形 高级绘图命令:

add=T表示在原图增加新元素,默认是替换原图F(增加低级绘图指令) axes=F表示不加坐标轴,默认为T log=?xy?表示对xy轴均取对数

type=?b?绘图类型p散点图,l实线,b所有点被实线连接,o实线通过所有点,h绘出点到 x轴的实线,s阶梯形曲线,n不绘(可以先采用n绘出一个图形边界,然后在上面绘图) 低水平作图函数: points(x,y)加点

lines(x,y)==plot(x,y,type=?l?)加直线

text(x,y,labels)对数据集xy加文本labels(字符串,默认是1:length(x))

3

abline()增加直线,四种格式:ablie(a,b)/y=a+bx,abline(h=y/0)过所有点的水平直线ablien(v=0)画竖线,abline(线性拟合结果对象) ploygon(x,y)以xy为点画出多边形 在图上加文字标题或其它内容 title(main=??,sub=??)图上增加标题

axis(side=1/2/3/4)将坐标值置于图形的下左上右

正态性检验:QQ图帮助我们鉴别样本的分布是否近似于某种分布,若正态QQ图上的点近似在一条直线附近(该直线斜率是标准差,截距是均值),则可认为样本来自一个正态分布总体。

qqnorm(x)画QQ散点图

qqline(x)画直线(斜率为标准差,截距为均值) qqplot()

问:QQ图和PP图是什么?

stem(x,scale=2)茎叶图顾名思义是在茎的前提下有多少叶(竖线后面是相同茎的叶的分布情况),scale是控制茎规模的参数(2表示把10个个位数分为两段0-4,5-9),(5|045里5为茎,045为叶,表示50,54,55)

boxplot(x,notch=T,,outline=T,horiz=T,add=T,col=')箱线图展示数据分布特征,参数notch?是否有切口,outline是否要异常点,horiz是否水平画,add在上幅图画 eg. boxplot(w,notch=T,add=T,horiz=T,col='red'),boxplot(x,y,col=c('red','blue'))

fivenum(x,na.rm=T)针对数据x求5个分位数

shapiro.test(x)对数据x做正态检验,当返回的p值小于某个显著水平(0.05)时认为x不服从正态分布,x大小在0-5000

经验分布拟合是通过检验经验分布函数和假设的总体分布函数之间的差异 ks.test()

lm(x$x1~x$x2,data=x) lm(y~x+I(x^2))

search()列出所有包

4