美文网首页
R语言实战试卷 第三章 图形初阶

R语言实战试卷 第三章 图形初阶

作者: 6102 | 来源:发表于2018-08-24 09:29 被阅读0次
  • 图形参数设置
  • 添加文本、自定义坐标轴和图例
  • 图形的组合
  1. 下列对象drugA和drugB是对两种药物5个剂量水平(dose)上的响应的病人数目,请在R studio上运行以下代码并回答问题:
dose <- c(20, 30, 40, 45, 60)
drugA <- c(16, 20, 27, 40, 60)
drugB <- c(15, 18, 25, 31, 40)

(1). 运行语句plot(dose, drugA, type = "b"),描述该语句得到的图形并模仿此语句绘制出药物B的剂量和响应人数关系图;
(2). 画出图形参数设置为lwd=3, type="b", lty=3, pch=15, cex=2, col=2的药物B的剂量和响应人数关系图,并依据图Graph parameters in R解释这些参数的含义;

Graph parameters in R
  1. 在R中绘制图形时下列哪些指定参数为白色( )(多选题)
    A. col = 1
    B. col = "white"
    C. col = "#FFFFFF"
    D. col = rgb(1, 1, 1)
    E. col = hsv(0, 0, 1)
  2. 函数colors()可以返回所有可用颜色的名称,在R中查看该函数中有多少种颜色,并回答第657个颜色是什么;
  3. R中有许多用于创建连续型颜色向量的函数,在R中运行以下语句:
install.packages("RColorBrewer")
library(RColorBrewer)
n <- 7
rainbow_color <- brewer.pal(n, "Set1")
barplot(rep(1, n), col = rainbow_color)

(1). 键入display.brewer.all()可以得到如图brewer all,rainbow_color <- brewer.pal(n, "Set1")中从Set1调色板中抽取了7种用十六进制表示的颜色并返回一个向量。请模仿题目中给出的语句写出可以从BrBG调色板中抽取7种颜色绘制条形图的语句;

brewer all
(2). 键入brewer_all <- as.matrix(brewer.pal.info),查看对象brewer_all有多少个调色板,简要介绍brewer_all中的数据信息;
(3). 在R中运行以下语句:
getwd()
pdf("myfirstgraph.pdf")
n <- 11
rainbow_color <- brewer.pal(n, "Spectral")
barplot(rep(1, n), col = rainbow_color)
dev.off()

getwd()得到的路径中查看文件myfirstgraph.pdf,若想把该图保存为png格式并存储在当前目录下,请写出相应语句;

  1. 下列对象drugA和drugB是对两种药物5个剂量水平(dose)上的响应的病人数目,请在R studio上运行以下代码并回答问题:
dose <- c(20, 30, 40, 45, 60)
drugA <- c(16, 20, 27, 40, 60)
drugB <- c(15, 18, 25, 31, 40)

opar <- par(no.readonly = TRUE)
par(pin=c(2, 3))
par(lwd=2, cex=1.5)
par(cex.axis=0.75, font.axis=3)
plot(dose, drugA, type = "b", pch=19, lty=2, col="red")
plot(dose, drugB, type = "b", pch=23, lty=6, col="blue", bg="green")
par(opar)

(1). par()plot()都可以对图形的参数进行设置,问:他们有什么区别?(键入help(par)可以查阅更多关于par()的信息来回答此问);
(2). 在R studio上运行以下代码,比较与(1)中得到的图,解释参数main,sub,xlab,ylab,xlim,ylim;

plot(dose, drugA, type = "b", col="red", pch=2, lty=2, lwd =2,
     main = "Clinical Trials for Drug A", 
     sub= "This is hypothetical data",
     xlab = "Dosage", ylab = "Drugs Response", 
     xlim = c(0, 60), ylim=c(0, 70))

(3). 在R studio上运行以下代码, 比较与(2)中得到的图,解释参数ann=FALSE与函数title()

plot(dose, drugA, type = "b", col="red", 
     pch=2, lty=2, lwd =2, 
     xlim = c(0, 60), ylim=c(0, 70), 
     ann=FALSE)
title(main = "Clinical Trials for Drug A", col.main="red", cex.main=0.85,
      sub= "This is hypothetical data", col.sub="blue", cex.sub=0.70,
      xlab = "Dosage", ylab = "Drugs Response", col.lab="blue", cex.lab=0.75)

(4). 在R studio上运行以下代码,解释axis()mtext()所在语句,解释参数ann = FALSE

x <- c(1:10)
y <- x
z <- 10/x
opar <- par(no.readonly = TRUE) #生成一个可以修改的当前图形的参数列表
par(mar=c(5, 4, 4, 8) + 0.1)
plot(x, y, type = "b",
     pch=21, col="red",
     yaxt="n", lty=3, ann = FALSE)
lines(x, z, type = "b", pch=22, col="blue", lty=2)
axis(2, at=x, lables=x, col.axis="red", las=2)
axis(4, at=z, lables=round(z, digits = 2),
     col.axis="blue", las=2, cex.axis=0.7, tck= -.01)
mtext("y=1/x", side=4, line = 3, cex.lab=1, las=2, col="blue")
title("An example of Creative Axes",
      xlab = "X values",
      ylab = "Y=X")
par(opar)

(5).在R studio上运行以下代码,描述所绘图形中的元素与语句中函数和参数的关系;

opar <- par(no.readonly = TRUE)
par(lwd=2, cex=1.5, font.lab=2)
plot(dose, drugA, type="b",
     pch=15, lty=1, col="red", ylim = c(1, 60),
     main = "Drug A vs Drug B",
     xlab = "Drug Dosage", ylab = "Drug Response")
lines(dose, drugB, type = "b",
      pch=17, lty=2, col="blue")
abline(h=c(30), lwd=1.5, lty=2, col="gray")
library(Hmisc)
minor.tick(nx=3, ny=3, tick.ratio = 0.5)
legend("topleft", inset = 0.05, title="Drug Type", c("A", "B"),
       lty = c(1, 2), pch = c(15,17), col=c("red", "blue"))
par(opar)
  1. 在R studio上运行以下代码,回答下列问题:
attach(mtcars)
opar <- par(no.readonly = TRUE)
par(fig=c(0, 0.8, 0, 0.8))
plot(wt, mpg,
     xlab = "Weight", ylab = "Mileage",
     pch=18, col="blue")
text(wt, mpg,
     row.names(mtcars),
     cex = 0.6, pos = 4, col = "red")
par(fig=c(0, 0.8, 0.55, 1), new=TRUE)
boxplot(wt, horizontal = TRUE, axes=FALSE)
par(fig=c(0.65, 1, 0, 0.8), new=TRUE)
boxplot(mpg, axes=FALSE)
mtext("Enhanced Scatterplot", side = 3, outer = TRUE, line = -3)
par(opar)

(1). 在R中,通常可以是使用text()mtext()将文本添加到图形上,说明这两个函数的区别;
(2). 解释par(fig=c(0, 0.8, 0, 0.8))par(fig=c(0, 0.8, 0.55, 1), new=TRUE)par(fig=c(0.65, 1, 0, 0.8), new=TRUE);

attach(mtcars)
opar <- par(no.readonly = TRUE)
par(mfrow=c(2,2))
plot(wt, mpg, main = "Scatterplot of wt vs. mpg")
plot(wt, disp, main = "Scatterplot of wt vs. disp")
hist(wt, main = "Histogram of wt")
boxplot(wt, main = "Boxplot of wt")
par(opar)

(1).运行题目中和以下代码,观察得到的图形组合的差异,说明par(mfrow=c(2,2))par(mfcol=c(2,2))的区别;

opar <- par(no.readonly = TRUE)
par(mfcol=c(2,2))
plot(wt, mpg, main = "Scatterplot of wt vs. mpg")
plot(wt, disp, main = "Scatterplot of wt vs. disp")
hist(wt, main = "Histogram of wt")
boxplot(wt, main = "Boxplot of wt")
par(opar)
layout(matrix(c(1, 1, 2, 3), 2, 2, byrow = TRUE))
hist(wt)
hist(mpg)
hist(disp)

(1).运行题目中和以下代码,说明参数widthsheights

layout(matrix(c(1, 1, 2, 3),  2,  2,  byrow = TRUE),
       widths = c(3, 1), heights = c(1, 2))
hist(wt)
hist(mpg)
hist(disp)

相关文章

网友评论

      本文标题:R语言实战试卷 第三章 图形初阶

      本文链接:https://www.haomeiwen.com/subject/vjqevftx.html