喜欢R语言的朋友们可以参考以下的题目哦!
此部分为基础篇,共计9题(包含答案)
1、打开 Rstudio 告诉我它的工作目录。
#工作目录 getwd()
2、新建6个向量,基于不同的原子类型。(重点是字符串,数值,逻辑值)
#字符串型向量
a <- c("I","like","sea")
#数值型向量(integer)
b <- c(1:10)
#逻辑值向量
d <- c(T,F,F,F,T,F)
#数值型向量(小数)
e <- c(2.1,4.2,5.5,6.7,9.3,10.6)
#利用rep函数创建向量
f <- rep(e,times=3)
#复合型向量
g <- c(1,2,3,"yes")
[ps]在设置向量名称时,尽量避免使用c,因为c代表一个函数。
3、告诉我在你打开的rstudio里面 getwd() 代码运行后返回的是什么?
#1.工作目录
getwd()
[1] "E:/生信技能树/Qi_study(1 month)/7.3初级作业"
4、新建一些数据结构,比如矩阵,数组,数据框,列表等重点是数据框,矩阵)
#创建矩阵
V1 <- matrix(data=c(1:20),nrow=4,ncol=5)
#创建数组
V2 <- array(1:48,dim=c(6,4,2))
#创建数据框
ID <- c(1,2,3,4,5)
Name <- c("Liming","Xiaofang","Xiaohong","Lihua","Shanshan")
Gender <- c("M","F","M","M","F")
Birthday <- c("1999-10","2000-1","1998-6","2000-6","1999-6")
Score <- c(99,100,69,90,99)
Grade <- c(1,2,2,1,1)
V3 <- data.frame(ID,Name,Gender,Birthday,Score,Grade)
V3
#创建列表
V4 <- list(Name <- c("Liming","Xiaofang","Xiaohong","Lihua","Shanshan"),Gender <- c("M","F","M","M"),score <- matrix(1:12,3,4))
5、在你新建的数据框进行切片操作,比如首先取第1,3行, 然后取第4,6列
#索引data.frame行1、3 列4、6
ID <- c(1,2,3,4,5)
Name <- c("Liming","Xiaofang","Xiaohong","Lihua","Shanshan")
Gender <- c("M","F","M","M","F")
Birthday <- c("1999-10","2000-1","1998-6","2000-6","1999-6")
Score <- c(99,100,69,90,99)
Grade <- c(1,2,2,1,1)
V3 <- data.frame(ID,Name,Gender,Birthday,Score,Grade)
V3
tmp1 <- c(T,F,T,F,F)
tmp2 <- c(F,F,F,T,F,T)
V3[tmp1,tmp2]
6、使用data函数来加载R内置数据集 rivers 描述它。并且可以查看更多的R语言内置的数据集
rivers
class(rivers)
7、下载 https://www.ncbi.nlm.nih.gov/sra?term=SRP133642 里面的 RunInfo Table 文件读入到R里面,了解这个数据框,多少列,每一列都是什么属性的元素。
#查看行数、列数
a <- read.csv('SraRunTable.txt',header = T,sep = "\t")
dim(a)
str(a[F,T])
8、下载 https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE111229 里面的样本信息sample.csv读入到R里面,了解这个数据框,多少列,每一列都是什么属性的元素。
b <- read.csv('sample.csv',header = T,sep = ",")
dim(b)
class(b[,1:ncol(b)]) #or str(b[F,T])
9、前面两个步骤的两个表(RunInfo Table 文件,样本信息sample.csv)关联起来,使用merge函数。
d <- merge(a,b,by.x = 'Sample_Name',by.y = 'Accession')
d