从解决问题,开始复习和学习;
问题一
下载 https://www.ncbi.nlm.nih.gov/sra?term=SRP133642 里面的
RunInfo Table
文件读入到R里面,了解这个数据框,多少列,每一列都是什么属性的元素。(参考B站生信小技巧获取runinfo table) 这是一个单细胞转录组项目的数据,共768个细胞,如果你找不到RunInfo Table
文件,可以点击下载,然后读入你的R里面也可以。
- 一开始就有报错,先学习参数header,fill;添加了还是错误;
ex1 <- read.table("exam1.txt",header = T,fill = TRUE)
Error in read.table("exam1.txt", header = T, fill = TRUE) :
列的数目比列的名字要多
- read.table()的选项
- header:逻辑型变量,第一行是否包含变量名;header is set to TRUE if and only if the first row contains one fewer field than the number of columns.
- sep:分开数据值的分隔符,默认是sep=“ ”,一个或多个空格、制表符、换行或回车、使用 sep=“,”来读取用逗号来份分隔行内数据的文件,使用 sep =“\t”来读取使用制表符来分割行内数据的文件
- row.names = 1
- fill:logical. 如果为TRUE,则如果行的长度不相等,则会隐式添加空白字段。尾部空字段省略的行;从一个电子表格中导出的文件通常会把拖尾的空字段,为了读取这样的文件,必须设置参数 fill = TRUE。
- stringsAsFactors:逻辑值,标记处字符向量是否需要转化为因子,默认是TRUE。
- R数据导入读取read.table函数详解,如何读取不规则的数据
- R语言_read.table()函数用法
- 然而最后还是没找到解决,看了答案;sep我以为是读表读取空格就好,但可能是完成?
a <- read.table("SraRunTable.txt", header = TRUE, sep = '\t')
str函数查看数据框内容
str(a)
问题二
下载 https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE111229 里面的
样本信息sample.csv
读入到R里面,了解这个数据框,多少列,每一列都是什么属性的元素。(参考 https://mp.weixin.qq.com/s/fbHMNXOdwiQX5BAlci8brA 获取样本信息sample.csv)如果你实在是找不到样本信息文件sample.csv,也可以点击下载。把前面两个步骤的两个表(RunInfo Table
文件,样本信息sample.csv)关联起来,使用merge函数。
#把两个表关联起来,使用merge函数。
c <- merge(a, b, by = "Sample_Name", all.x = TRUE)
优秀作业答案: