练习与作业1:R session管理
完成以下操作
- 定义一些变量(比如 x, y , z 并赋值;内容随意)
- 从外部文件装入一些数据(可自行创建一个4行5列的数据,内容随意)
- 保存workspace 到.RData
- 列出当前工作空间内的所有变量
- 删除当前工作空间内所有变量
- 从.RData文件恢复保存的数据
- 再次列出当前工作空间内的所有变量,以确认变量已恢复
- 随机删除两个变量
- 再次列出当前工作空间内的所有变量
```{r}
## 代码写这里,并运行;
require(tidyverse)
x <- c(1,2,3,4,5,6)
y <- c(23,34,45,56)
z <- c(22,33,44,55)
tb1<-read.table("data04.txt",header=FALSE)
save.image(file = "homework4.RData")
ls()
rm(list = ls())
load(file = "homework4.RData")
ls()
rm(x)
rm(y)
ls()
```
练习与作业2:Factor基础
factor增加
- 创建一个变量:
x <- c("single", "married", "married", "single");
- 为其增加 两个 levels,
single
,married
; - 以下操作能成功吗?
x[3] <- "widowed"
;
- 如果不,请提供解决方案;
```{r}
## 代码写这里,并运行;
x <- c("single","married","married","single")
x <- as.factor(x)
levels(x) <- c("single","married","widowed")
x[length(x)+1] <- "widowed"
str(x)
```
利用factor排序
以下变量包含了几个月份,请使用factor
,使其能按月份,而不是英文字符串排序:
mon <- c("Mar","Nov","Mar","Aug","Sep","Jun","Nov","Nov","Oct","Jun","May","Sep","Dec","Jul","Nov");
```{r}
## 代码写这里,并运行;
mon <- c("Mar","Nov","Mar","Aug","Sep","Jun","Nov","Nov","Oct",
"Jun","May","Sep","Dec","Jul","Nov")
month_levels <- c("Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
month1 <- factor(mon,levels = month_levels)
sort(month1)
```
forcats的问题
forcats
包中的 fct_inorder, fct_infreq和 fct_inseq 函数的作用是什么?
请使用forcats
包中的gss_cat
数据举例说明
## 代码写这里,并运行;
f_gss_cat <- as.factor(as.data.frame(head(gss_cat)))
fct_inorder(f_gss_cat)
fct_infreq(f_gss_cat)
##fct_inseq(f_gss_cat)
练习与作业3:用 mouse genes 数据做图
画图
- 用 readr 包中的函数读取 mouse genes 文件 (从本课程的 Github 页面下载 data/talk04/ )
- 选取常染色体的基因
- 画以下两个基因长度 boxplot :
- 按染色体序号排列,比如 1, 2, 3 …. X, Y
- 按基因长度 中值 排列,从 短 -> 长 …
```{r}
## 代码写这里,并运行;
mouse.gene<-read_delim("../data/talk04/mouse_genes_biomart_sep2018.txt",col_names =T)
mouse.gene<-subset(mouse.gene,`Chromosome/scaffold name` %in% c( 1:19))
mouse.gene$`Chromosome/scaffold name` <- factor(mouse.gene$`Chromosome/scaffold name`,
levels = c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19))
boxplot(`Transcript length (including UTRs and CDS)` ~ `Chromosome/scaffold name`,
data = mouse.gene,las=2 )
ggplot( data = mouse.gene,
aes( x = fct_reorder( `Chromosome/scaffold name`,
`Transcript length (including UTRs and CDS)`,median ),
y = `Transcript length (including UTRs and CDS)` ) ) +
geom_boxplot() +
coord_flip() +
ylim( 0, 2000 )
```
COMMENTS | NOTHING