R语言学习小总结
2019-05-12 本文已影响17人
秦城听雪
这是根据我之前学习R的系列总结
新建6个向量,基于不同的原子类型。(重点是字符串,数值,逻辑值)
a<-c("one","two","three","four","five","six")
b<-c(1,2,3,4,5,6)
c<-c(TRUE,TRUE,FALSE,FALSE,TRUE,FALSE)
显示目前所在位置
getwd()
新建5个其它数据结构,矩阵,数组,数据框,列表,因子(重点是数据框,矩阵)
构建矩阵
d<- matrix(1:12,nrow = 3)
清空工作目录
rm(list = ls())
构建数组 > myarray <- array(vector,dimensions,dimnames)
myarray<- array(1:24,c(2,3,4))
myarray
构建数据框 mydata <- data.frame(col1,col2,col3,…)
ID<- c(1,2,3,4,5,6)
sex<- c("female","male","female","male","female","male")
genetype<- c("type1","type2","type3","type4","type5","type6")
mydata<- data.frame(ID,sex,genetype)
mydata
构建列表mylist <- list(object1,object2,…)
g<- "My First List"
h<- c(25,26,27,28)
j<- matrix(1:10,nrow = 5)
k<- c("one","two","three")
mylist <- list(title=g,ages=h,chengji=j,dengji=k)
mylist
构建因子status <- factor(status, ordered=TRUE)
status <- factor(1,2,3,order=TRUE)
print(status)
在你新建的数据框进行切片操作,比如首先取第1,3行, 然后取第4,6列
rm(list=ls())
mydata[c(1,3),]
mydata[,c(1,2)]
##并且可以查看更多的R语言内置的数据集:https://mp.weixin.qq.com/s/dZPbCXccTzuj0KkOL7R31g
data(rivers)
rivers
导入txt数据
platformMap1 <- read.table("SraRunTable.txt",header = T,stringsAsFactors = F,sep = "\t")
platformMap2 <- read.table("GSE111229_Mammary_Tumor_fibroblasts_768samples_rawCounts.txt",header = T,stringsAsFactors = F,sep = "\t'')
可视化
数据汇总与画图
准备数据
cars<- mtcars[c(1,2,9,10)]
cars$gear<- ordered(cars$gear)
cars$am<- factor(cars$am,labels=c('auto','manual'))
str(cars)
计算平均值
mean(cars$mpg)
计算中间数
median(cars$cyl)
计算标准差
sd(cars$mpg)
计算范围
range(cars$mpg)
计算百分数
quantile(cars$mpg)
也可以一次性获取如5%和95%位置的值
quantile(cars$mpg,probs = c(0.05,0.95))
##############
描述分类
amtable<- table(cars$am)
amtable
绘制直方图
hist(cars$mpg,col = 'grey')
hist(cars$mpg,breaks = c(5,15,25,35))
创建密度图
mpgdens<- density(cars$mpg)
plot(mpgdens)
在直方图中绘制密度
hist(cars$mpg,col = 'grey',freq = FALSE)
lines(mpgdens)
summary(cars)
cars$cyl<- as.factor(cars$cyl)
绘制箱型图
boxplot(mpg ~ cyl, data = cars)
记录相关性
1.观察关联性
plot(iris[-5])
2.获得数据
with(iris,cor(Petal.Width,Petal.Length))
3.计算多个变量的相关性
iris.cor<- cor(iris[-5])
str(iris.cor)
iris.cor['Petal.Width','Petal.Length']
##############################
使用表格
1.由两个变量创建表
with(cars,table(am,gear))
2.从矩阵创建表
trial<- matrix(c(34,11,9,32),ncol = 2)
colnames(trial)<- c('sick','healthy')
rownames(trial)<- c('risk','no_risk')
trial.table<- as.table(trial)
3.提取结果
trial.table['risk','sick']
##########
将表格转换为数据帧
trial.df<- as.data.frame(trial)
str(trial.df)
例2
trial.table.df<- as.data.frame(trial.table)
str(trial.table.df)
#################
边际与占比,默认等于2是讲每一行后边相加,建立新的sum列.等于1是将每一列相加,建立新的sum行
addmargins(trial.table)
addmargins(trial.table,margin = 1)
addmargins(trial.table,margin = 2)
计算占比
prop.table(trial.table)
计算行列占比
prop.table(trial.table,margin = 1)
#########################################
偏差和关系测试
str(beaver2)
library(lattice)
histogram(~temp |factor(activ),data = beaver2)
t.test(temp ~activ, data = beaver2)