R语言学习代码16章节Word格式.docx
- 文档编号:21232837
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:14
- 大小:20.53KB
R语言学习代码16章节Word格式.docx
《R语言学习代码16章节Word格式.docx》由会员分享,可在线阅读,更多相关《R语言学习代码16章节Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
p<
-data.frame(mtcars$mpg,mtcars$cyl)
names(p)[2]<
-"
testvarlabels"
#变量标签
#创建值标签,leves代表变量的实际值,labels表示包含了理想值标签的字符型向量
p$`testvarlabels`<
-factor(p$`testvarlabels`,levels=c(4,8),labels=c("
male"
female"
))
#处理数据对象的实用函数
length(mtcars)#显示对象中元素/成分的数量
dim(mtcars)#显示数据对象的维度
str(mtcars)#显示数据对象的结构
class(mtcars)#显示数据对象的类或类型
names(mtcars)#显示数据对象各成分的名称
head(mtcars)#显示数据对象的开始部分
tail(mtcars)#显示数据对象的最后部分
ls()#显示当前的对象列表
fix(mtcars)#直接编辑对象
rm(object)
rm(list=ls())#删除当前工作环境中的几乎所有对象
#图形初阶
#保存文件:
png(),jpeg(),bmp(),tiff(),win.metafile(),postcript()
pdf("
mygraph.pdf"
attach(mtcars)#添加搜索路径
plot(wt,mpg)
abline(lm(mpg~wt))
title("
RegressionofMPGonweight"
detach(mtcars)#删除搜索路径
dev.off()
dev.new()#打开一个新的图形窗口
dev.next()
hist(mpg)
dose<
-c(20,30,40,45,60)
drugA<
-c(16,20,27,40,60)
drugb<
-c(15,18,25,31,40)
plot(dose,drugA,type="
b"
opar<
-par(no.readonly=TRUE)#复制一份当前图形参数设置
par(lty=2,pch=17)
par(opar)
lty=3,lwd=3,pch=15,cex=2)
#颜色
colors()#返回所有可用的颜色的名称
RColorBrewer"
library(RColorBrewer)
n<
-7
mycolors<
-brewer.pal(n,"
Set1"
barplot(rep(1,n),col=mycolors)
#文本属性
main="
thesfd"
cex.main=3,font.main=1,cex.lab=1.5,cex.axis=1.5)
#图形尺寸和边界尺寸
opar<
-par(no.readonly=TRUE)#获取当前图形参数
par(pin=c(2,3))
par(lwd=2,cex=1.5)
par(cex.axis=0.75,font.axis=3)
pch=19,lty=2,col="
red"
pch=23,lty=6,col="
blue"
bg="
green"
help(par)
#添加文本、自定义坐标和图例
col="
lty=2,pch=2,lwd=2,
main="
ClineTrisfoeGtd"
sub="
FG"
xlab="
xlab"
ylab="
ylab"
xlim=c(0,60),ylim=c(0,70))
#标题
title()
#坐标轴
axis()
#代码清单3-2
x<
-c(1:
10)
y<
-x
z<
-10/x#生成数据
-par(no.readonly=TRUE)#获取当前图形参数
par(mar=c(5,4,4,8)+0.1)#增加边界大小
plot(x,y,type="
pch=21,col="
yaxt="
n"
lty=3,ann=FALSE)#绘制x对y的图形
lines(x,z,type="
pch=22,col="
lty=2)
axis(2,at=x,labels=x,col.axis="
las=2)
axis(4,at=z,labels=round(z,digits=2),col="
las=2,cex.axis=0.7,tck=-0.01)
mtext("
y=1/x"
side=4,line=3,cex.lab=1,las=2,col="
)#添加文本
AnExampleofCreativeAxes"
XValues"
Y=x"
)#添加标题
#次要参考线
minor.tick(nx=n,ny=n,tick.ratio=n)
minor.tick(nx=2,ny=3,tick.ratio=0.5)
#代码清单3-3
par(lwd=2,cex=1.5,font.lab=2)#增加线宽、文本大小,标签字体
pch=15,lty=1,col="
ylim=c(0,60),
DrugAVSDrugb"
xlab="
DrugDoseG"
DtugResponse"
abline(h=c(30),lwd=1,lty=2,col="
gray"
minor.tick(nx=3,ny=3,tick.ratio=0.5)#次要参考线
legend("
topleft"
inset=0.05,title="
DrugType"
c("
A"
B"
),
lty=c(1,2),pch=c(15,17),col=c("
))#添加图例
#文本标注
attach(mtcars)
plot(wt,mpg,
Milevcsd"
sdf"
sde"
pch=18,col="
text(wt,mpg,
row.names(mtcars),
cex=0.6,pos=4,clo="
detach(mtcars)
#数学标注
plotmath"
demo("
#图形组合
par(mfrow=c(2,2))#组合四幅图形
plot(wt,mpg,main="
dgaggsdafdf"
plot(wt,disp,main="
hist(wt,main="
boxplot(wt,main="
layout(matrix(c(1,1,2,3),2,2,byrow=TRUE))
layout"
#基本数据管理
leadership<
-data.frame()
fix(leadership)
manager<
-c(1,2,3,4,5)
date<
-c("
10/24/08"
10/28/08"
10/1/08"
10/12/08"
5/1/09"
counry<
US"
UK"
gener<
M"
F"
age<
-c(32,45,25,39,99)
q1<
-c(5,3,3,3,2)
q2<
-c(4,5,5,3,2)
q3<
-c(5,2,5,4,1)
q4<
-c(5,5,5,NA,2)
q5<
-c(5,5,2,NA,1)
-data.frame(manager,date,age,gener,counry,q1,q2,q3,q4,q5,stringsAsFactors=FALSE)
xx<
-cbind(xx,yy)#合并两个数据框
summary(leadership)
str(leadership)
#创建一个新的变量(列出两种方式)
leadership$sum<
-leadership$q4+leadership$q5
-transform(leadership,meanx=(q4+q5)/2)
#变量重编码-测试错误
-with(leadership,{
agecat<
-NA
agecat[age>
75]<
-"
Elder"
=55&
age<
=75]<
MiddleAged"
agecat[age<
55]<
Young"
})
#变量名的重命名
names(leadership)[2]<
testDate"
names(leadership)
names(leadership)[4:
8]<
item1"
item2"
item3"
item4"
item5"
#缺失值
is.na(leadership)
is.na(leadership[,4:
8])
#重编码某些值为缺失值
leadership$item1[leadership$item1==5]<
#在分析中排除缺失值:
na.rm=TRUE可以在计算前移出缺失值并使用剩余值在计算
-c(1,2,NA,3)
-sum(x,na.rm=TRUE)
newdata<
-na.omit(leadership)#na.omit移出所有含有缺失值的参数
help(sum)
Sys.Date()#返回当前的日期
date()#返回当前的日期和时间
format(x,format="
%B%d%Y"
)#输出指定格式的日期值
today<
-Sys.Date()
dob<
-as.Date("
1997-05-21"
difftime(today,dob,units="
weeks"
)#按照周数计算我现在多少周了
as.character()#将日期等转换为字符型
#类型转换-1.判断某个对象的数据类型;
2-转换为另一种数据类型的函数
is.numeric(leadership$counry)
#数据排序
neww<
-leadership[order(leadership$item1)]
#数据的合并
merge()
cbind()
rbind()
#数据选取子集
paste()#选入变量
#
newsaf<
-subset(leadership,age>
=35|age<
24,select=c(q1,q2,q3,q4))
-subset(leadership,gener=="
&
age>
25,select=gener:
q4)
mysample<
-leadership[sample(1:
nrow(leadership),3,replace=FALSE)]
mysample1<
ncol(leadership),3,replace=FALSE)]#?
?
#高级数据管理
-pretty(c(-3,3),30)
-dnorm(x)
l"
NormalDeviate"
Density"
yaxs="
i"
pnorm(1.96)#
qnorm(0.9,mean=500,sd=100)
#设定随机数种子,生成服从正态分布的伪随机数
runif(5)
set.seed(1234)
library(MASS)
options(digits=3)
mean<
-c(230.7,146.7,3.6)
sigma<
-matrix(c(15360.8,6721.2,-47.1,6721.2,4700.9,-16.5,-4701,-16.5,0.3),nrow=3,ncol=3)
mydata<
-mvrnorm(500,mean,sigma)
-as.data.frame(mydata)
names(mydata)<
y"
x"
dim(mydata)
tail(mydata)
summary(mydata)
#字符处理函数
#将函数应用于矩阵
c<
-matrix(runif(30),nrow=3)
log(c)
mean(c)
apply(c,1,mean)#计算每一行的值
apply(c,2,mean)#计算每一列的值
apply(c,2,mean,trim=0.2)#计算每一行的结尾均值
options(digits=2)#控制输出小数点后数字的位数
student<
JohnDavis"
AngelaWilliams"
BullwinkleMoose"
DavidJones"
"
JaniceMarkhamen"
ChenCushing"
RengYydf"
GrayKngs"
JoelEngland"
MadRaymen"
Match<
-c(502,600,412,358,495,512,410,625,573,522)
Science<
-c(95,99,80,82,75,85,80,95,89,86)
English<
-c(25,22,18,15,20,28,15,30,27,18)
Roster<
-data.frame(student,Match,Science,English,stringsAsFactors=FALSE)
z<
-scale(Roster[,2:
4])
score<
-apply(z,1,mean)
-cbind(Roster,score)
-quantile(score,c(.8,.6,.4,.2))
Roster$grade[score>
y[1]]<
Roster$grade[score<
y[1]&
score>
=y[2]]<
y[2]&
=y[3]]<
C"
y[3]&
=y[4]]<
D"
y[4]]<
name<
-strsplit((Roster$student),"
lastname<
-sapply(name,"
["
2)
firstname<
1)
-cbind(firstname,lastname,Roster[,-1])#Roster[,-1]丢弃变量Student
-Roster[order(firstname,lastname),]
#control用户函数
for(iin1:
print("
Hello,xiaoyanyan,welcometoRworld!
"
i<
-10
while(i>
0){
hello"
);
i<
-i-1
}
mystats<
-function(x,parametric=TRUE,print=FALSE){
if(parametric){
center<
-mean(x);
spread<
-sd(x)
}else{
-median(x);
-mad(x)
}
if(print&
parametric){
cat("
Mean="
center,"
\n"
MAD="
spread,"
result<
-list(center=center,spread=spread)
return(result)
-rnorm(500)
-mystats(x,parametric=TRUE,print=TRUE)
#整合和重构
cars<
-mtcars[1:
5,1:
4]
t(cars)#转置行列
#整合数据
-aggregate(mtcars,by=list(cyl,gear),FUN=mean,na.rm=TRUE)
reshape2"
library(reshape2)
md<
-melt(mydata,id=c("
ID"
Time"
ID<
-c(1,1,2,2)
Time<
-c(1,2,1,2)
X1<
-c(5,3,6,2)
X2<
-c(6,5,1,4)
-data.frame(ID,Time,X1,X2,stringsAsFactors=FALSE)
dcast(md,ID~variable,mean)
dcast(md,Time~variable,mean)
dcast(md,ID~Time,mean)
#基本方法
#基本图形
vcd"
counts<
-table(Arthritis$Improved)
#horiz=TRUE,水平条形图
barplot(counts,main="
Simele"
Important"
Frequency"
col="
horiz=TRUE)
plot(Arthritis$Improved,main="
xlab="
ddd"
ylab="
uuu"
)#绘制类型变量是一个因子或有序型变量
#堆砌条形图和分组条形图
counts1<
-table(Arthritis$Improved,Arthritis$Treatment)
#main="
Fdfdgdf"
barplot(counts1,col=c("
grey"
),legend=rownames(counts1))
),legend=rownames(counts1),beside=TRUE)
states<
-data.frame(state.region,state.x77)
means<
-aggregate(states$Illiteracy,by=list(state.region),FUN=mean)
means
-means[order(means$x),]
barplot(means$x,main="
Thisisteseimony"
names.arg=means$Group.1,
Group1"
Means"
col=c("
pink"
yellow"
),horiz=TRUE,
cex.names=0.8,cex.lab=1)
#names.arg=means$Group.1为了展示标签
lines(means$x,pch=0,lwd=1,l
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 学习 代码 16 章节