多元统计分析及R语言建模


目录

一、数据矩阵数据框及R表示

1、创建向量和矩阵

1)创建一个向量

2)创建一个矩阵

 2、矩阵其他运算

1)矩阵的转置,加法减,矩阵相乘,求矩阵C的逆

2)获得矩阵对角线元素 ,创建三阶单位矩阵

3)求矩阵特征值与特征向量,矩阵奇异值分解      

4)矩阵维数 ,行数 ,列数        

5)矩阵的和,矩阵求均值

3、数据框及R表示

1)构建数据框 ,赋予数据框列新名

2)按列合并 ,按行合并 ,按行显示

3)数据框的应用

二、多元数据简单R分析

1、多元数据的R调用

1)从剪切板读取

2)从文本文件读取

3)从Excel文件中读取


内容来自《多元统计分析及R语言建模》第五版,编著 王斌会

​​​​​​​

一、数据矩阵数据框及R表示

1、创建向量和矩阵

1)创建一个向量

#创建一个向量
x1=c(171,175,159,155,152,158,154,164,168,166,159,164)
x2=c(57,64,41,38,35,44,41,51,57,49,46,47)
length(x1) #向量的长度
mode(x1) #数据的类型

可以使用“:”来快速生成等差数列向量,可以用其选择子数列

a=1:12;a
b=c(1,3,6:3,9);b

多元统计分析及R语言建模_第1张图片

 2)创建一个矩阵

1)matrix(data=NA,nrow=1,ncol=1,byrow=False,dimnames=NULL)

注:data为必要矩阵元素,nrow为列数,ncol为行数,byrow控制排列元素时是否按行(默认按列),dimnames给定行和列的名称

A=matrix(c(1,4,2,5,3,6),nrow=2,ncol=3);
A
B=matrix(c(1,2,3,4,5,6),3,2);
B

A=matrix(c(1,4,2,5,3,6),nrow=2,ncol=3);
A
B=matrix(c(1,2,3,4,5,6),3,2);
B

A=matrix(c(1,4,2,5,3,6),nrow=2,ncol=3,dimnames=list(c('a','b'),c('e','f','g')));

A=matrix(c(1,4,2,5,3,6),nrow=2,ncol=3,dimnames=list(c('a','b'),c('e','f','g')));
A

多元统计分析及R语言建模_第2张图片

2)用现成向量创建矩阵

matrix(x1,nrow=3,ncol=4)#利用已有数据创建矩阵
matrix(x1,nrow=4,ncol=3,byrow=T)

 多元统计分析及R语言建模_第3张图片

 2、矩阵其他运算

1)矩阵的转置,加法减,矩阵相乘,求矩阵C的逆

2)获得矩阵对角线元素 ,创建三阶单位矩阵

3)求矩阵特征值与特征向量,矩阵奇异值分解      

4)矩阵维数 ,行数 ,列数        

5)矩阵的和,矩阵求均值

 t(A)   #A的转置
A[,1:2]+B[1:2,]    #矩阵的加法
A[,2:3]+B[2:3,]    #矩阵的减法
C=A%*%B ;C       #矩阵相乘
D=B%*%A ;D
diag(D)         #获得矩阵对角线元素
I=diag(3); I     #创建三阶单位矩阵
solve(C)        #求矩阵C的逆
D.e = eigen(D,symmetric=T);D.e    #求矩阵特征值与特征向量
(F=matrix(1:18,3,6))          
(F.s=svd(A))      #矩阵奇异值分解
dim(A)        #矩阵维数
row(A)        #矩阵行数
col(A)        #矩阵列数
sum(A)        #矩阵的和
rowSums(A)     #矩阵按行求和
colSums(A)     #矩阵按列求和
mean(A)       #矩阵求均值
rowMeans(A)
colMeans(A)

t(A)   #A的转置
A[,1:2]+B[1:2,]    #矩阵的加法
A[,2:3]+B[2:3,]    #矩阵的减法
C=A%*%B ;C       #矩阵相乘
D=B%*%A ;D
diag(D)         #获得矩阵对角线元素
I=diag(3); I     #创建三阶单位矩阵
solve(C)        #求矩阵C的逆
D.e = eigen(D,symmetric=T);D.e    #求矩阵特征值与特征向量
(F=matrix(1:18,3,6))          
(F.s=svd(A))      #矩阵奇异值分解
dim(A)        #矩阵维数
row(A)        #矩阵行数
col(A)        #矩阵列数
sum(A)        #矩阵的和
rowSums(A)     #矩阵按行求和
colSums(A)     #矩阵按列求和
mean(A)       #矩阵求均值
rowMeans(A)
colMeans(A)

3、数据框及R表示

数据框(Data Frame)是一种矩阵形式的数据,但数据框中各列可以是不同类型数据,每列是一个变量,每行是一个观测.数据框可以看成是矩阵(Matrix)的推广,也可以看成特殊点列表对象.

1)构建数据框 ,赋予数据框列新名

2)按列合并 ,按行合并 ,按行显示

X=data.frame(x1,x2);X     #构建数据框
Y=data.frame('身高'=x1,'体重'=x2);Y     #赋予数据框列新名
rbind(x1,x2)        #按列合并
cbind(x1,x2)        #按行合并
#按行显示,默认六行数据
head(X)       #按行显示前六行数据
tail(X)       ##按行显示后六行数据

X=data.frame(x1,x2);X     #构建数据框
Y=data.frame('身高'=x1,'体重'=x2);Y     #赋予数据框列新名
rbind(x1,x2)        #按列合并
cbind(x1,x2)        #按行合并
#按行显示,默认六行数据
head(X)       #按行显示前六行数据
tail(X)       ##按行显示后六行数据

3)数据框的应用

apply(X,MARGIN,FUN)

X为数据框或矩阵,MARGIN=1表示行运算、MARGIN=2表示列运算,FUN用来指定运算函数

Xr=apply(X,1,sum);Xr
Xc=apply(X,2,sum);Xc

二、多元数据简单R分析

1、多元数据的R调用

1)从剪切板读取

a、拷贝需要进行计算的数据块

b、在R中使用dat=read.table("clipboard",header=T)

注:dat为读入的R数据框,clipboard为剪切板,header=T选项用来指定第一行是标题行,并且省略文件中给定的行标签

d2.1=read.table("clipboard",header=T)
head(d2.1)

2)从文本文件读取

a、首先先将xlsx格式转为(.csv)

b、read.csv("test1.csv") #若文件本就存在R的工作文档中,则不需要写全部路径

注:还可以使用write.csv函数在R中保存数据

write.csv(X,file="test1.cssv",row.name=F)

3)从Excel文件中读取

library(openxlsx).  #没有安装包可以先 install.package("openxlsx")

d2.1=read.xlsx('mvstats5.xlsx','d2.1')

tail(d2.1)

 

你可能感兴趣的:(r语言,开发语言)