R语言学习记录
以后会不定时更新(学生党寒假无聊总得做点什么,想着以后实习或者找工作没有啥经验搞点这个应该能凑点数)
R语言的安装
http://www.r-project.org/ 主程序的安装例如R-3.4.2-win.exe
但是主程序不好用,有大神开发出比较友好的使用界面Rstudio
•http://www.rstudio.com/ 程序Rstudio
记得安装的文件夹全部英文不然会报错
下载包的代码
source("http://bioconductor.org/biocLite.R")
biocLite("包名")
install.packages("包名")
R语言的对象
1.向量(vector)
开头用c表示,可以用来存放数值(numeric)以及字符(character)
c(1,2,3,4) c(1,2)c('wode','nide')存字符的时候记得打引号,字符(character)间用逗号隔开
2.向量(vector)的运算
与向量的加减除法是一样的,和向量的点乘是一样的,与叉乘不一样。
ps:c(1,2,3,4)+c(1,2)=c(2,3,4,6)
3.变量(variable)
R中的变量常常是向量。
x=c(1,2,3,4) x=c('wode';,'nide'),赋值运算符可以是<-,反着大于号小于号不行
索引:x[1]表示第一个元素的取值,x{1:3]表示从第一个到第三个元素的值,x[-1]表示去除第一个元素的值
ps:1:3=1,2,3(都要取)
4.函数(function)
基本形式function(对象,选项)
例如mean(x,trim=0,na.rm=0)其中x是代表所求均值的对象,对象就是我们之前说的向量变量什么的,trim=0.1时,假设x中有20个元素求均值,去除头20*0.1个,尾部20*0.1个再求均值,na表示缺失值,默认不去掉,rm表示去掉(remove),那么na.rm的意思就是去掉缺失值,0表示否定,那么整体就是不去掉了
PS:还应该有很多函数形式暂时写一个吧,以后学了再自己做个总结。
再例如指数函数
exp(1) exp(c(1,2,3,4))
5.数组(array)
数组的意思是n维向量组,同高代一样竖着写,横着排
例如a<-array(data=x,dim=c(3,3)) dim表示维度,n维向量组也可以看成矩阵嘛。那么每一列代表一个向量组,向量组竖着写即写成转置的形式。
对于x<-(1:9)那么就是
1 4 7
2 5 8
3 6 9
6.数据框(data frame)
变量或者样本的属性竖着排,每一行代表一个样本
city<-c('beijing','shanghai','chongqing')
age<-c(1:3)
sex<-c('F','M','S')
people<-data.frame(city,age,sex)
引用:people[2,3]表示第二行第三列的数,people$age引用列,people[people$age>,]
7.列表(list)
无非是把data.frame改成list,
基本格式为list(city=,age=,sex=)
与date.frame不同的是把每一列的名字给你定下来了然后填入向量组即可,而date.frame是直接填入向量组,比date.frame多了一个命名变量的名字的作用
ps:class()表示对象的类,attributes()表示对象的属性,str()表示对象的底细
文档的读写
1.通过edit去直接输入数据
mydata<-data.frame(age=numeric(0),gender=character(0),height=numeric(0))
mydata<-edit(mydata)
编辑完毕后直接关掉就自动保存了,查看可以再输入mydata。运行其他程序时不要动这两行代码了,否则重新输入
更改数据 fix()
2.通过read.table进行读取txt文件
ps:想要练习的朋友们进主页自己下载
基本代码
mydata<-read.table("路径",header=TRUE,sep=",")其中路径直接复制文件夹属性路径,其中注意是/而不是\,header的意思是标题行,sep是间隔符号,当每一列的间隔是空格时sep=就可以了,自动识别,为,时则需要添加间隔符。
3.通过read.csv进行读取csv文件,excel一般是xlsx文件格式,另存为csv逗号格式,txt文件,注意此时路径结尾不是.txt,而是.csv
未来展望
这个寒假希望能写出数理统计中的随机抽样,点估计矩估计极大似然估计三大检验以及多元统计分析中的聚类和主成分分析的代码,以及ggplot的画图,嘿嘿嘿,加油冲冲冲~
这篇文章是原创的,但是其中很多内容都是某个大学ppt上的内容,对其中的难点和缺失点做了解释,主要目的是为了让自己更好找工作,拒绝商用,一切免费~(以后更新都是)