美文网首页
R语言作业·初级

R语言作业·初级

作者: BioJournal_Link | 来源:发表于2019-08-07 13:52 被阅读0次

【作业1】当前工作目录是什么路径

getwd()#获取当前工作目录

【作业2】新建6个向量,基于不同的原子类型。(重点是字符串,数值,逻辑值)

character_vector <- c("a","b","c","d")#字符型向量
number_vector <- c(2,3,4,5,6,7)#数值型向量
logical_vector <- c(T,F,T,F,F)#逻辑型向量
LOGICAL_VECTOR <- C(TRUE,TRUE,FALSE)#报错
LOGICAL <- c(TRUE,TRUE,FALSE)#无报错

【不解2.1】
创建逻辑型向量:LOGICAL_VECTOR <- C(TRUE,TRUE,FALSE),
[error]:Error in C(TRUE, TRUE, FALSE) : 不能把对象解释成因子,
发现创建向量时,写成了大C而不是小c。
【不解2.2】新概念——原子向量
[笔记]在R For Data Science这本书,有对向量概念做了详细的介绍:
向量主要有两种:
(1)原子向量:逻辑型、 整型、 双精度型、 字符型、 复数型和原始型。
①整型和双精度型向量又统称为数值型向量。
②原子向量中的各个值都是同种类型的。
(2)列表,有时又称为递归向量,因为列表中也可以包含其他列表。
列表中的各个值可以是不同类型的。
【不解2.3】新概念——整型,双精度型,复数型和原始型(后面两种该书未介绍)
(1)双精度型:双精度型是近似值。
①双精度型表示的是浮点数,不能由固定数量的内存精确表示。
②这意味着你应该将所有双精度数当成近似值。
(2)整数型:如果想要创建整型数值,可以在数字后面加一个 L。
查看向量类型的函数区别:

class(number_vector)#"numeric"
typeof(number_vector)#"double"
integer_vector <- c(1L,2L,3L,4L)
typeof(integer_vector)#"integer"
typeof(1:10)#"integer"
typeof(2)#"double"

[新知]class和typeof的区别是typeof可以区分数值型向量是整数型和双精度型。
[发现]原来number_vector <- c(2,3,4,5,6,7),创建的是双精度型向量。

【作业3】新建一些数据结构,比如矩阵,数组,数据框,列表等,重点是数据框,矩阵

my_matrix <- matrix(1:10,nrow=5,ncol=2)
my_array <- array(1:24,c(2,3,4))
my_dataframe <- data.frame(a=c(1:10),b=paste("q",c(1:10),sep = "."),c=1:10>3)
my_list <- list(my_matrix,my_array,my_dataframe)
class(my_matrix)#"matrix"
class(my_array)#"array"
class(my_dataframe)#"data.frame"
class(my_list)#"list"

【作业4】在你新建的数据框进行切片操作,比如首先取第1,3行, 然后取第4,6

my_df_t <- t(my_dataframe)#因为初建的数据框不符合题目要求,所以行列转置一下
my_df_t[c(1,3),]
my_df_t[,c(4,6)]
my_dataframe[5:8,1:2]

【作业5】
使用data函数来加载R内置数据集rivers,描述它。
并且可以查看更多的R语言内置的数据集。

data(rivers)
class(rivers)
dim(rivers)#"NULL"
length(rivers)
fivenum(rivers)
?fivenum
summary(rivers)
quantile(rivers)
tail(sort(rivers))#查看最长的六条河的长度

DATA SCIENCE FOR R 这本书教了用数字可视化技术去进行数据探索
尝试着用作图去探索数据

boxplot(rivers)
barplot(rivers)
barplot(sort(rivers))
hist(rivers)
head(rivers)
tail(order(rivers))
rivers[tail(order(rivers))[6]]

【问题6】下载 https://www.ncbi.nlm.nih.gov/sra?term=SRP133642 里面的 RunInfo Table文件读入到R里面,了解这个数据框,多少列,每一列都是什么属性的元素。(参考B站生信小技巧获取runinfo table)

getwd()
sc <- read.table(file = "SraRunTable.txt",header = T,sep = "\t")
#网页链接打不开,只能下载题目的下载链接,
class(sc)#dataframe
dim(sc)#768行31列
str(sc)#查看各列属性

【问题7】下载 https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE111229 里面的样本信息sample.csv读入到R里面,了解这个数据框,多少列,每一列都是什么属性的元素。

sample <- read.csv(file = "sample.csv",header = T)
#sample <- read.csv(file = "sample.csv",header = T,sep = ",")
class(sample)#dataframe
dim(sample)#768行12列
str(sample)#查看各列属性

【问题8】把前面两个步骤的两个表(RunInfo Table 文件,样本信息sample.csv)关联起来,使用merge函数。

accession <- sample$Accession
sample_name <- sc$Sample_Name
table(a==b)#全部为true,说明这两列内容都一样
merge <- merge(sc,sample,by.y = "Accession",by.x = "Sample_Name")
dim(merge)#42列

相关文章

  • R语言初级作业

    首先做完了周末班工作, 包括软件安装以及R包安装: 打开 Rstudio告诉我它的工作目录。getwd() 新建6...

  • R语言初级作业

    R语言初级作业 打开 Rstudio 告诉我它的工作目录。 新建6个向量,基于不同的原子类型。(重点是字符串,数值...

  • R语言作业—初级

    教程对应B站:【生信技能树】生信人应该这样学R语言配套资料:B站的11套生物信息学公益视频配套讲义、练习题及思维导...

  • R语言作业·初级

    【作业1】当前工作目录是什么路径 【作业2】新建6个向量,基于不同的原子类型。(重点是字符串,数值,逻辑值) 【不...

  • R语言作业(初级·上)

    初级作业·上 题目链接:http://www.bio-info-trainee.com/3793.html 1.软...

  • 2019-06-15 R语言作业(初级)

    R语言作业(初级) 题目链接:http://www.bio-info-trainee.com/3793.html ...

  • R语言初级题作业笔记

    题目链接:http://www.bio-info-trainee.com/3793.html题目比较基础,我这里就...

  • R语言初级作业10题

    打开 Rstudio 告诉我它的工作目录 新建6个向量,基于不同的原子类型。(重点是字符串,数值,逻辑值) 告诉我...

  • R语言作业-初级10题

    dandanwu902019年4月9日 B站R语言视频在这里看完视频就上树!小菜鸟!初级10 个题目在这里 清空一...

  • Steven的R语言初级作业

    我的第一篇简书笔记,就从R语言的入门习题开始~ 今天做了Jimmy老师的R语言初级练习题,还没有全部写完,打算分两...

网友评论

      本文标题:R语言作业·初级

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