分享

R语言基本函数、统计量、常用操作函数

 宋娃娃姓宋 2017-11-28

先言:R语言常用界面操作

帮助:help(nnet) = ?nnet =??nnet
清除命令框中所有显示内容:Ctrl+L
清除R空间中内存变量:rm(list=ls())、gc()
获取或者设置当前工作目录:getwd、setwd
保存指定文件或者从磁盘中读取出来:save、load
读入、读出文件:read.table、wirte.table、read.csv、write.csv


1、一些简单的基本统计量

[plain] view plain copy
  1. #基本统计量  
  2. sum/mean/sd/min    #一些基本统计量  
  3.   
  4. which.min()        #找出最小值的序号  

以上是单数列,如果是多变量下的呢?

[plain] view plain copy
  1. #多元数据  
  2. colMeans()    #每列,row是行(横向)  
  3. colnames()    #列名  
  4. colSums()     #列求和  
  5. cov()         #协方差阵  
  6. cor()         #相关矩阵  
  7. cor.test()    #相关系数  

abs绝对值
sqrt平方根
expe^x次方
log自然对数
log2,log10其他对数
sin,cos,tan三角函数
sinh,cosh,tanh双曲函数
poly正交多项式
polyroot多项式求根

对象操作:

assign赋值操作,等同于“<-”
rm删除对象
ls显示内存中的对象
str显示对象的内在属性或简要说明对象
ls.str展示内存中所有对象的详细信息
length返回对象中元素的个数
names显示数据的名称,对于数据框则是列名字
levels因子向量的水平
dim数据的维度
nrow矩阵或数据框的行数
ncol列数
rownames数据的行名字
colnames列名字
class数据类型
mode数据模式
head数据的前n行
tail数据的后n行
summary显示对象的概要
attrx的属性类型


is.na检测变量的类型
is.null
is.array
is.data.frame
is.numeric
is.complex
is.character


简单统计:

max最大元素
min最小元素
range最小值和最大值组成的向量
sum
prod元素连乘
pmax向量间相同下标进行比较最大者,并组成新的向量
pmin向量间相同下标进行比较最小者,并组成新的向量
cumsum累积求和
cumprod连乘
cummax最大
cummin最小
mean均值
weighted,mean加权平均数
median中位数

sd标准差
norm正态分布
fF分布
unif均匀分布
cauchy柯西分布
binom二项分布
geom几何分布
chisq.test卡方检验,进行独立性检验
prop.test对总体均值进行假设检验
shapiro.test正态分布检验
t.testT检验,对总体均值进行区间估计
aov方差分析
anova一个或多个模型对象的方差分析

2、向量

向量在循环语句中较为广泛

[plain] view plain copy
  1. #向量  
  2. #向量在循环语句中较为广泛  
  3. M=vector(length = 8);M  #生成一个长为8的布尔向量  
  4. M[1]="1";M             #赋值之后就会定义为字符  
  5. M[1]=1;M              #赋值之后,定义为数值  

逻辑向量使用

[plain] view plain copy
  1. y[y < 0] <- -y[y < 0]      #表示将向量(-y)中 与向量y的负元素对应位置的元素 赋值给 向量y中 与向量y负元素对应的元素。作用相当于: y <- abs(y)  


3、数据储存形式

[plain] view plain copy
  1. #数据储存形式  
  2. data.frame(wi=iris,ci=cars)   #数据框形式,可以直接定义变量名  
  3. list(wi=iris,ci=cars)         #list,也可以直接定义变量名  


注意:attach()、detach()

可以将数据框中的变量释放到Rs内存中,然后就可以直接调用。

[plain] view plain copy
  1. attach(iris)  
  2. names(setosa)     
  3. detach(iris)  

在data.frame中,是可以实现数据集重命名的,比如data.frame(x=iris,y=cars),

也可以实现横向、纵向重命名,data.frame(x=iris,y=cars,row.names=iris)


4、数据查看函数——names、str、unique组合、typeof()、mode()、class()

[plain] view plain copy
  1. ##数据查看函数  
  2. names(iris)           #查看所有变量名字  
  3. str(iris)             #变量属性(int整数,num数值)  
  4. unique(iris$setosa)   #查看分类变量的水平  
  5. table(iris$setosa)    #分类水平,不同水平的个数(=unique+sum功能)  
  6. summary(iris)         #所有变量各自的均值、分位数、众数、最大、最小值等统计量,在回归中就是系数表等  
  7. attributes(iris)      #包括names(变量名)、row.names(序号的名称)、class(数据形式)  

一般names、str、unique会组合使用。


如何查看数据类型——typeof()、mode()、class()的区别?

[plain] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. 我这里用个因子例子来说明,希望能讲清楚  
  2. > gl(2,5)            #新建一个因子  
  3. [1] 1 1 1 1 1 2 2 2 2 2  
  4. Levels: 1 2  
  5. > class(gl(2,5))   #查看变量的类,显示为因子;  
  6. [1] "factor"  
  7. > mode(gl(2,5))     #查看数据大类,显示为数值型;  
  8. [1] "numeric"  
  9. > typeof(gl(2,5))    #查看数据细类,显示为整数型;  
  10. [1] "integer"  
  11. #来自:http://f./thread-99785-1-1.html  
从精细度上说,typeof>mode>class. 



5、矩阵的基本知识与注意

[plain] view plain copy
  1. #矩阵的基本知识  
  2. t()       #转置  
  3. det()     #行列式,方阵  
  4. x%*%y     #向量内积  
  5. x%o%y#向量外积  
  6.   
  7.   
  8. A=array(1:9,dim=c(3,3))  
  9. A*A    #这个代表矩阵内两两子元素相乘  
  10. A%*%A #才是我们想要的结果  
  11. crossprod(A,A)    #等于t(A)%*%A  
  12. crossprod(t(A),A) #等于A%*%A,所以需要t(A)一下  


t矩阵转置
rowsum行求和
colsum列求和
rowmeans行平均
colmeans列平均
solve对线性方程求解或求矩阵的逆
diag对角阵

6、因子

[plain] view plain copy
  1. ##因子(≈文本+数字的组合)  
  2. #SPSS中值标签定义有异曲同工之妙  
  3. M=factor(iris$setosa,levels=c(1,0),labels=c("M","F"));M  #能够转化因子格式+定义值标签  
  4. M=as.factor(iris$setosa);M #上面的函数更有效,因为as.factor只能转化成因子格式  


7、输入输出

library加载包
data加载制定数据集
load加载save或者save.image保存的数据
read.table读取表格
read.csv读取以逗号分割的表格
read.delim读取以tab分割个表格
read.fwf以fixed width formatted 形式读取数据至表格
save二进制保存指定对象
save.image二进制保存当前线程内所有对象
write.table将数据以表格形式写入文本
write.csv将数据以CSV表格形式写入文本
cat强制转化为字符后输出
sink输出转向到指定文件
print输出屏幕
format格式化

8、逻辑运算

!x逻辑非
x & y逻辑与
x && y逻辑与(仅匹配并返回第一个值)
x | y逻辑或
x || y逻辑或(仅返回第一个值)
x or (x,y)异或

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多