独乐乐不如众乐乐,今天就将我个人在学习R过程中的一些学习笔记分享出来,有不足之处也欢迎各位批评指正了。
学习教材:《R语言实战》(附后)
学习心得:因本人不是统计学、数学等专业出身,原学科为管理科学与工程,故接触数据分析、数据挖掘等也是在工作中才开始的,所以R实战这本书,我也是从最基础的开始学习的。如果其他小伙伴已经有较好基础,则可以略过本部分,直接从书中的中级开始。需要强调给各位伙伴同时也是提醒自己的一点的是:学习是个不断更新和坚持的过程,绝对无法一蹴而就,同时需要常常温故,而后会知新!
内容分享:
C1:基础简介
(1) 打开帮助文档首页,并查阅其中的“ Introduction to R”。
(2) 安装vcd包(一个用于可视化类别数据的包,我们将在第11章中使用)。
(3) 列出此包中可用的函数和数据集。
(4) 载入这个包并阅读数据集Arthritis的描述。
(5) 显示数据集Arthritis的内容(直接输入一个对象的名称将列出它的内容)。
(6) 运行数据集Arthritis自带的示例。如果不理解输出结果,也不要担心。它基本上显示
了接受治疗的关节炎患者较接受安慰剂的患者在病情上有了更多改善。
(7) 退出。
1.help.start()
2.install.packages("vcd")
3.help(package="vcd")
4.library(vcd)
Arthritis
5.help(Arthritis)
6.example(Arthritis)
7.q()
8.read.table("filename.txt")读取数据 (read.csv("filename.csv")
9.write.table(x,"filename.txt")将变量x的数据写入txt中(write.csv(x,"filename.csv")
10.names(x)用来显示变量x的列名
C2数据类型与读取
1.factor()可以定义因子是否属于有序变量,使用order=T,
E.G.: status<-factor(mydata,order=T,levels=c("poor","improved","excellent")
表示:order表示为有序变量,levels表示其中顺序。因经过factor后,将字段根据字母顺序改编为1,2,3等,而leves将顺序编制为:poor为1,improved为2,excellent为3。
2.使用较多的为:data.frame(), list()。一般先使用其他例如c(),factor()定义好内部各列,然后使用data.frame()或list()来组合。两者区别:frame内数据个数一致,list允许列变量长度不同。data.frame(data1,data2,data3,row.name=data1)---row.name可用来区分数据集中不同的个体,作为实例标识符(也就是可认为是主键)
3.读取xlsx类型数据:
library(xlsx)
workbook<-"c:/myworkbook.xlsx"
mydataframe<-read.xlsx(workbook,1)
#格式为read.xlsx(file,n),file表示工作簿所在位置,n为要导入的工作表序号
4.read.table(file,header=T,sep=" ",row.names="name")---表示从file读取数据(需为带分隔符格式的文件,可以为csv(逗号分隔)),header表示为是否读取第一行作为表头,sep表示分隔符类型,空格表示分隔符为一个或多个空格、制表符、换行符或回车符,row.name为可选项,表示设置一个或多个标识符变量。
4.数据集的标注 无
5.处理数据对象的实用函数
length(object)#显示对象中元素/成分的数量
dim(object) #显示某个对象的维度
str(object) #显示某个对象的结构
class(object) #显示某个对象的类或类型
mode(object) #显示某个对象的模式
names(object) #显示某个对象中各成分的名称
c(object,object,...)#将对象合并入一个向量
cbind(object,object,...) #按列合并对象
rbind(object,object,...) #按行合并对象
object #输出某个对象
head(object) #列出某个对象的开始部分(前六项)
tail(object) #列出某个对象的最后部分(后六项)
ls() #显示当前的对象列表
rm(object,object,...) #删除一个或多个对象。语句rm(list=ls())将删除当前工作环境中的几乎所有对象
newobject<-edit(object) #编辑对象并另存为newobject
fix(object) #直接编辑对象
矩阵:
x<-matrix(1:20,4,5)
rownames(x)<-c("a","b","c","d")
#x为4行5列矩阵,rownames给x行命名,为a,b,c,d,只有在绘图时可以使用text(x)来标注数据。
常用的赋值函数有:
matrix(1:10,2,5)(表示数字为1:10,2行5列),factor(1:4)(表示1:4,输出为1234),gl(2,3,8)(表示:2为从1-2,重复3次,总长度为8,最后显示为11122211):这三个函数有levels,且即为数字1-最大数字。
rep(2,4)(表示2,重复4次,2222),sequence(3:4)(表示3为1-3,4为1-4,1231234,长度即为a+b=3+4=7),seq(1,4,0.5)(表示从1-4,间隔为0.5)或者seq(length=10,from=1,to=5)(表示总长度为10,从1-5的数据序列):这三个函数没有levels。
画图时候:text(x,y,row.names(x),其他)#x,y表示坐标位置。其中,如果不写row.names(x),也可以写其他内容,例如“Example of R",则文字将会在 x,y位置出现。