R初学者打卡3.1

对我来说灰暗的二月终于过去(啊啊啊啊啊啊啊啊),2.29晚压抑了很久的情绪终于爆发了。在一所非常非常普通的省内一本读完大学的我,接下来要面临的是残酷又艰难的选择,不出意外的我正是350多万浩浩荡荡的考研学子中最普通的一员,虽然国家线还没有出,但对卡在历年分数线上如此尴尬的分数我并不抱太大希望了。今天3月1日,不能再颓废下去了,振作振作!
我本科是市场营销后来机缘巧合转到了经济统计学,其实乐观地看我还是比较幸运的,转专业考试的那几天(也真是巧了)一壶刚打好的开水一滴不差的全洒在我脚上。如果不是朋友劝我,扶着我去考试可能现在就不会选择考研究生了也不会接触到R语言。

太磨叽了,开始学习吧!
Rstudio界面
首先介绍一下R,它是一个开源软件,在编程的时候需要安装很多软件包,因为R支持脚本语言可以用R保存所有要用的软件包(每个都有大量数据和可以读写修改的程序)
base the R base package
class Functions for classification
cluster(群 组) functions for clustering
ctest classical tests
eda exploratory data analysis
foreign read data stored by Minitab,sas,spss等
grid the grid graphics package(网格图形)
Kernsmooth functions for kernel smoothing for Wand&Jones
lattice lattice graphics(点阵图形)
lqs resistant regression(?回归) and covariance estimation(协方差估计)
MASS main library of Venables and Ripley’s MASS
methods Formal methods and classes
mgcv multiple smoothing parameter estimation and GAMs by GCV
好多包,包先到学到这吧。
在多元统计分析的学习中通常用矩阵的形式表达多元的数据,进行矩阵运算最常用的代码:
eg one:
在R中用函数c()创建向量:
x1=c(171,175,159,155,152,158,154,164,168,166,159,164)
x2=c(57,64,41,38,35,44,41,51,49,47,46)(这里需要在R中输入x1再运行,第一次没再次输入,蠢)(温馨提示:运行当前代码快捷键Ctrl+enter)
合并向量:按行rbind(x1,x2)警告信息
警告信息:数据长度不一样。
按列合并cbind(x1,x2) 一定注意标点符号,不然编完一大段代码找错就好麻烦。
利用x1数据创建矩阵
matrix(x1,nrow=3,ncol=4) nrow是行 ncol是列
在这里插入图片描述
创建按行排列的数据
matrix(x1,nrow=3,ncol=4,byrow=T)
在这里插入图片描述
看来默认是按列排列的。
创建两个相同的矩阵
A=B=matrix(13:31,nrow = 3,ncol = 4)
在这里插入图片描述
一定注意数据的个数是否符合要求(因为幸运数字是1和3就随便选的但是不行,数据个数19组不成矩阵)
A=B=matrix(13:30,nrow = 2,ncol =9)在这里插入图片描述
矩阵转置:t(A)
矩阵加法:A+B 减法A-B
矩阵相乘:A为m
n矩阵,B为n
m矩阵 A%
%B**
获取对角线元素:**A=matrix(1:16,nrow=4,ncol=4)
diag(A)
在这里插入图片描述
利用对角线元素创建对角矩阵:diag(diag(A))在这里插入图片描述
创建3阶单位矩阵:diag(3)
在这里插入图片描述
求逆矩阵:A=matrix(rnorm(16),4,4)#rnorm产生一系列随机数
solve(A)
在这里插入图片描述
求矩阵特征根和特征向量:A=diag(4)+1 #加1因为diag()创建的是单位阵
A.e=eigen(A,symmetric=T)#假设用来求特征向量的矩阵是对称的
矩阵的choleskey分解:A.c=chol(A)
矩阵奇异值分解:A=matrix(1:18,3,6)
A.s=svd(A) 主住祝 :设A为mn阶矩阵,q=min(m,n),AA的q个非负特征根的算术平方根叫做A的奇异值。奇异值分解在某些方面与对称矩阵或Hermite矩阵基于特征向量的对角化相似。然而这两种矩阵分解尽管有其相关性,但还是有明显不同。谱分解的基础是对称阵特征向量的分解,而奇异值分解则是谱分解理论在任意矩阵上的推广。
矩阵的维数:A=matrix(1:12,3,4)
dim(A)
快速查看矩阵行数列数:nrow() ncol()
矩阵按行求和:rowSums(A)
矩阵按行 求均值:rowMeans(A)
在这里插入图片描述
apply()函数:apply(X,MARGIN,FUN,…)注:margin 1代表行,2代表列。fun是function
eg:矩阵按行求和/均值:apply(A,1,sum/mean)
在这里插入图片描述
矩阵按列求方差:A=matrix(rnorm(100),20,5)
apply(A,2,var)
矩阵按列求函数结果:A=matrix(1:12,3,4)
apply(A,2,function(x,a)xa,a=2) 注:apply(A,2,function(x,a)xa,a=2)与A*2效果相同。
3.1 19:25
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_46445293/article/details/104594288