R语言基础小测验

测试题

此前我们进行了5.5h入门R语言的教学,课后给大家留下了如下习题,大家可以检验一下自己的R语言的学习成果。

1、借助Rstudio的Tools菜单栏,将Rstudio页面主题从默认的白色设置成深色背景主题

2、通过R代码,在自己电脑桌面新建****文件夹,名称为"biomamba-R语言入门课",并将自己的工作路径设置成这个文件夹所在的路径

3、创建一个变量名称为biomamba1的矩阵,要求填充的元素是"1-9"这9个数字,矩阵行数为3行,列数为3列,行名设置为R1、R2、R3,列名设置为C1、C2、C3,并尝试根据位置索引或者是名称索引取出元素"8"。

4、创建一个变量名称为biomamba2的数据框,总共是3列,要求每一列都包含7个元素,其中第一列是数值型向量,第二列字符型的向量,第三列是逻辑型向量,同时三列的列名分别为name1、name2和name3。

5、保存题目4中的biomamba2的数据框,保存格式为biomamba2.xlsx分隔符为"\t",并尝试用重新读入,并赋值给一个名称为biomamba3的变量

6、在题目4中的biomamba2的数据框基础上增加一列,列名是name4,name4列的内容是c(1,2,3,NA,5,6,7),并在添加了name4列后删除NA所在的行,将删除后的结果赋值给名称为biomamba6的新变量

7、将题目6中的biomamba6数据框按照name4列降序排序

8、借助subset函数和dplyr包分别实现从biomamba6数据框筛选出name3、name4两列内容

9、使用mosaicData包中的CPS85数据集,绘制出一个小提琴图,要求满足以下条件:

(1)x轴为不同职业(sector), y轴为收入水平(wage)

(2)图片主标题设置为 "Relationship between wages and sector",颜色设置为红色,字体大小为17,x轴标题设置为"Different sectors"

(3)y轴收入水平显示格式调整为 ¥ 开头,y轴刻度线显示范围是0-40,每个格子步长是4

(4)x轴刻度线的字体和y轴刻度线的字体均加粗,同时x轴刻度线的字体倾斜角度修改为60°

(5)不同职业对应的小提琴需要填充不同的颜色

(6)ggplot2主题设置为theme_bw()

(7)调整图片上x轴职业的展示顺序,要求职业类别为“other”的职业排在所有职业最后一个

(8)完成第1-7步后,将最终生成的图片保存成名称为”testplot.pdf"的pdf格式文件,保存函数需要使用ggsave(),保存路径为题目2中的biomamba-R语言入门课"的文件夹

答案

一、加载R包

library(ggplot2)
library(mosaicData)
library(dplyr)

二、答案

1、借助Rstudio的Tools菜单栏,将Rstudio页面主题从默认的白色设置成深色背景主题

1.jpg

2、通过R代码,在自己电脑桌面新建一个名称为"biomamba-R语言入门课"的文件夹,并将自己的工作路径设置成这个文件夹所在的路径

dir.create("C:/Users/40259/Desktop/biomamba-R语言入门课/")
setwd("C:/Users/40259/Desktop/biomamba-R语言入门课/")
getwd()
## [1] "C:/Users/40259/Desktop/biomamba-R语言入门课"

3、创建一个变量名称为biomamba1的矩阵,要求填充的元素是"1-9"这9个数字,矩阵行数为3行,列数为3列,行名设置为R1、R2、R3,列名设置为C1、C2、C3,并尝试根据位置索引或者是名称索引取出元素"8"。

biomamba1 <- matrix(1:9,nrow = 3,ncol = 3,dimnames = list(c("R1","R2","R3"),c("C1","C2","C3")))
biomamba1
##    C1 C2 C3
## R1  1  4  7
## R2  2  5  8
## R3  3  6  9
biomamba1[2,3]
## [1] 8

4、创建一个变量名称为biomamba2的数据框,总共是3列,要求每一列都包含7个元素,其中第一列是数值型向量,第二列字符型的向量,第三列是逻辑型向量,同时三列的列名分别为name1、name2和name3。

name1 <- 1:7
name2 <- paste0("C",1:7)
name3 <- c(TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE)
biomamba2 <- data.frame(name1,name2,name3)
biomamba2
##   name1 name2 name3
## 1     1    C1  TRUE
## 2     2    C2  TRUE
## 3     3    C3  TRUE
## 4     4    C4  TRUE
## 5     5    C5  TRUE
## 6     6    C6  TRUE
## 7     7    C7  TRUE

5、保存题目4中的biomamba2的数据框,保存格式为biomamba2.xlsx,分隔符为"\t",并尝试用read.table()重新读入,重新读入后赋值给一个名称为biomamba3的变量

write.table(biomamba2,"biomamba2.xlsx",sep = "\t",row.names = FALSE)
biomamba3 <- read.table("biomamba2.xlsx",header = TRUE)
biomamba3
##   name1 name2 name3
## 1     1    C1  TRUE
## 2     2    C2  TRUE
## 3     3    C3  TRUE
## 4     4    C4  TRUE
## 5     5    C5  TRUE
## 6     6    C6  TRUE
## 7     7    C7  TRUE

6、在题目4中的biomamba2的数据框基础上增加一列,列名是name4,name4列的内容是c(1,2,3,NA,5,6,7),并在添加了name4列后删除NA所在的行,将删除后的结果赋值给名称为biomamba6的新变量

biomamba6 <- biomamba2
biomamba6$name4 <- c(1,2,3,NA,5,6,7)
biomamba6 <- na.omit(biomamba6)
biomamba6
##   name1 name2 name3 name4
## 1     1    C1  TRUE     1
## 2     2    C2  TRUE     2
## 3     3    C3  TRUE     3
## 5     5    C5  TRUE     5
## 6     6    C6  TRUE     6
## 7     7    C7  TRUE     7

7、将题目6中的biomamba6数据框按照name4列降序排序

biomamba6 <- biomamba6[order(-biomamba6$name4),]
biomamba6
##   name1 name2 name3 name4
## 7     7    C7  TRUE     7
## 6     6    C6  TRUE     6
## 5     5    C5  TRUE     5
## 3     3    C3  TRUE     3
## 2     2    C2  TRUE     2
## 1     1    C1  TRUE     1

8、借助subset函数和dplyr包分别实现从biomamba6数据框筛选出name3、name4两列内容

biomamba6 <- subset(biomamba6,select = c("name3","name4"))
biomamba6
##   name3 name4
## 7  TRUE     7
## 6  TRUE     6
## 5  TRUE     5
## 3  TRUE     3
## 2  TRUE     2
## 1  TRUE     1
select(biomamba6,name3,name4)
##   name3 name4
## 7  TRUE     7
## 6  TRUE     6
## 5  TRUE     5
## 3  TRUE     3
## 2  TRUE     2
## 1  TRUE     1

9、使用mosaicData包中的CPS85数据集,绘制出一个小提琴图,要求满足以下条件:

(1)x轴为不同职业(sector), y轴为收入水平(wage)

(2)图片主标题设置为 "Relationship between wages and sector",颜色设置为红色,字体大小为17,x轴标题设置为"Different sectors"

(3)y轴收入水平显示格式调整为 ¥ 开头,y轴刻度线显示范围是0-40,每个格子步长是4

(4)x轴刻度线的字体和y轴刻度线的字体均加粗,同时x轴刻度线的字体倾斜角度修改为60°

(5)不同职业对应的小提琴需要填充不同的颜色

(6)ggplot2主题设置为theme_bw()

(7)调整图片上x轴职业的展示顺序,要求职业类别为“other”的职业排在所有职业最后一个

(8)完成第1-7步后,将最终生成的图片保存成名称为”testplot.pdf"的pdf格式文件,保存函数需要使用ggsave(),保存路径为题目2中的biomamba-R语言入门课"的文件夹

CPS85$sector <- factor(CPS85$sector, levels = c("clerical","const","manag","manuf","sales","service","prof","other"))
p <- ggplot(data = CPS85,mapping = aes(x=sector,y=wage,fill = sector))+
  geom_violin()+
  scale_y_continuous(breaks = seq(0,40,4),
                     labels = scales::dollar_format(prefix = "¥", suffix = ""))+
  scale_fill_manual(values = c("#F8BBD0","#E1BEE7","#D1C4E9","#C5CAE9","#BBDEFB","#B3E5FC","#B2EBF2","#B2DFDB"))+
  labs(title = "Relationship between wages and sector",
       x="Different sectors")+
  theme_bw()+
  theme(plot.title = element_text(color = "red", size = 17),
        axis.text.x = element_text(
          face = "bold",    # 刻度标签字体样式("plain"普通、"bold"加粗、"italic"斜体)
          angle = 60,
          hjust = 1, 
         vjust = 1),       # 刻度标签旋转角度
        axis.text.y = element_text(face = "bold"))
p
2.png
ggsave(file="C:/Users/40259/Desktop/biomamba-R语言入门课/testplot.pdf",plot = p,width = 5,height = 4)

R语言入门课

1、课程简介

生信基地希望能够给大家提供系统性、形成性、规范性的生信教学。前面几次活动中同学们表示希望能够有线下集中学习以及针对性的指导、答疑。所以,此次我们已推出"生信R语言入门课",分为"R介绍"、"R语言数据对象"、"基本数据管理"、"图形初级(ggplot2)"四个模块共12节课。当然,我们也不做生信快餐,本次活动回放已剪辑完毕,方便错过活动的小伙伴加入。后续我们会持续拉群在群里进行课程内容的答疑。

2、R语言介绍

R语言是一种专门为统计分析、数据可视化和计算而设计的编程语言,广泛应用于各个领域。R语言支持各种统计分析方法,如线性回归、方差分析、聚类分析等,同时也能够进行复杂的图形和数据可视化。R语言凭借其开源、免费、工具包丰富、数据处理能力强、可视化丰富的特性在生物信息学中被广泛应用。例如RNA-Seq差异分析常用的DESeq2、edgeR的引用次数多达数万次。我们制作的单细胞教程几乎也全是基于R语言环境。很多同学找我们学习单细胞的时候都表示不想学习R语言,直接学习单细胞分析,不积跬步无以至千里,这显然是不现实的,所以,欢迎大家来参加此次的课程。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 225,124评论 6 523
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 96,453评论 3 404
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 172,386评论 0 368
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 61,136评论 1 301
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 70,142评论 6 400
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 53,593评论 1 315
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,958评论 3 429
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,944评论 0 279
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 47,477评论 1 324
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 39,512评论 3 346
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 41,639评论 1 355
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 37,227评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,971评论 3 340
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 33,397评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 34,550评论 1 277
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 50,203评论 3 381
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 46,713评论 2 366

推荐阅读更多精彩内容

  • 第三章 图形初阶 3.3 图形参数 通过修改图形参数来自定义一幅图形的多个特征(字体、颜色、坐标轴、标签) 1、使...
    亚航阅读 835评论 3 3
  • 这篇文章可以让你学到什么? 可以让你把这样的图: 通过设置各种参数修改为这样自定义的图: 一、 本文使用的数据 我...
    七七师姐阅读 21,327评论 1 32
  • Day1 R语言基础 数据类型 数值型(右对齐)、字符型(左对齐)、逻辑性(NA:存在但未知的东西*NA作为向量...
    要开心_c34d阅读 277评论 0 0
  • 写在前面 R语言拥有丰富的数据处理、统计分析和机器学习工具包,涵盖了从简单的描述统计到复杂的模型建立的各个方面。再...
    Biomamba生信基地阅读 76评论 0 1
  • 1、向量是用于存储数值型,字符型或者逻辑型数据的一维数组。执行组合功能的函数为c(),可以用来创建向量。向量可根据...
    栀子不易阅读 1,917评论 0 3