您的位置:首页 > 其它

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

2017-03-01 16:50 330 查看

先言: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

print?





#基本统计量

sum/mean/sd/min #一些基本统计量

which.min() #找出最小值的序号

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

[plain] view plain copy

print?





#多元数据

colMeans() #每列,row是行(横向)

colnames() #列名

colSums() #列求和

cov() #协方差阵

cor() #相关矩阵

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

print?





#向量

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

M=vector(length = 8);M #生成一个长为8的布尔向量

M[1]="1";M #赋值之后就会定义为字符

M[1]=1;M #赋值之后,定义为数值

逻辑向量使用

[plain] view plain copy

print?





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

3、数据储存形式

[plain] view plain copy

print?





#数据储存形式

data.frame(wi=iris,ci=cars) #数据框形式,可以直接定义变量名

list(wi=iris,ci=cars) #list,也可以直接定义变量名

注意:attach()、detach()

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

[plain] view plain copy

print?





attach(iris)

names(setosa)

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

print?





##数据查看函数

names(iris) #查看所有变量名字

str(iris) #变量属性(int整数,num数值)

unique(iris$setosa) #查看分类变量的水平

table(iris$setosa) #分类水平,不同水平的个数(=unique+sum功能)

summary(iris) #所有变量各自的均值、分位数、众数、最大、最小值等统计量,在回归中就是系数表等

attributes(iris) #包括names(变量名)、row.names(序号的名称)、class(数据形式)

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

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

[plain] view plain copy

print?





我这里用个因子例子来说明,希望能讲清楚

> gl(2,5) #新建一个因子

[1] 1 1 1 1 1 2 2 2 2 2

Levels: 1 2

> class(gl(2,5)) #查看变量的类,显示为因子;

[1] "factor"

> mode(gl(2,5)) #查看数据大类,显示为数值型;

[1] "numeric"

> typeof(gl(2,5)) #查看数据细类,显示为整数型;

[1] "integer"

#来自:http://f.dataguru.cn/thread-99785-1-1.html

从精细度上说,typeof>mode>class.

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

[plain] view plain copy

print?





#矩阵的基本知识

t() #转置

det() #行列式,方阵

x%*%y #向量内积

x%o%y#向量外积

A=array(1:9,dim=c(3,3))

A*A #这个代表矩阵内两两子元素相乘

A%*%A #才是我们想要的结果

crossprod(A,A) #等于t(A)%*%A

crossprod(t(A),A) #等于A%*%A,所以需要t(A)一下

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

6、因子

[plain] view plain copy

print?





##因子(≈文本+数字的组合)

#SPSS中值标签定义有异曲同工之妙

M=factor(iris$setosa,levels=c(1,0),labels=c("M","F"));M #能够转化因子格式+定义值标签

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)异或

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: