R语言小作业

Python013

R语言小作业,第1张

ENSG00000000003.13

ENSG00000000005.5

ENSG00000000419.11

ENSG00000000457.12

ENSG00000000460.15

ENSG00000000938.11

提示:

第一步:删除已存在变量和使用命令( stringsAsFactors = FALSE )以防止出错(R often uses a concept of factors to re-encode strings. This can be too early and too aggressive. Sometimes a string is just a string.To avoid problems delay re-encoding of strings by using stringsAsFactors = FALSE when creating data.frames.)

第二步:导入数据

e1<-read.table("clipboard",header=T,sep=',')#读取剪切板的内容即其他地方复制后,直接使用该命令调取复制的内容。

或者直接新建.txt文档,将内容复制进去:

了解一下这个包的作用 >?org.Hs.eg.db

发现我们已有的信息ensembl_id,并且得知symbol(对象)这一列表示的是基因名,由此确定答题方向, 通过ensembl_id确定gene_id,再通过gene_id确定基因名

我们在g2e和我们已知的数据a的ensembl_id不一样,区别在于最后的版本号,我们已有数据有版本号,而得到的g2e没有版本号,所以先将其版本号去掉。

x,y:用于合并的两个数据框

by,by.x,by.y:指定依据哪些行合并数据框,默认值为相同列名的列.

all,all.x,all.y:指定x和y的行是否应该全在输出文件.

sort: by指定的列是否要排序.

suffixes: 指定除by外相同列名的后缀.

incomparables: 指定by中哪些单元不进行合并.

答案为:

在最后合并两个表格除了使用merge函数,还可以使用match函数

中间的失误:

提示:使用 http://www.cbioportal.org/index.do 定位数据集: http://www.cbioportal.org/datasets

打开 http://www.cbioportal.org/ ,操作如下:

得到另一种形式的图片,但是与网页制作的图片是一致的。

提示使用: http://www.oncolnc.org/

打开提示网址:

画出和网页一致的图(图片还需进一步查资料了解)

生存分析的基本了解: http://wemedia.ifeng.com/81829327/wemedia.shtml

如果 p 值小于阈值(0.05 或 0.01),则两组生存时间有显著差异。

R语言作业,求问代码怎么写

1)

set.seed(1)

n = 5000

gender = sample(c("f","m"),size = n, TRUE)

dechot = function(gender, type){

n = length(gender)

list = c(NA,n)

for (i in 1:n){

list[i] = switch(gender[i], "f"=type[1], "m"=type[2])

}

return(list)

}

type = c(0,1)

dechot(gender, type)

2)

set.seed(1)

n = 100000

A = floor(runif(n,0,n))

search = function(vector){

n = length(vector)

two = three = number = NA

for (i in 1:n){

if (vector[i]%%2 == 0)

two = rbind(two,vector[i])

if(vector[i]%%3 == 0)

three = rbind(three,vector[i])

}

two.new = two[-1]

three.new = three[-1]

n.two = length(two.new)

n.three = length(three.new)

n.six = length(two.new[two.new%%6 == 0])

number = n.two +n.three-n.six

return(list(c(two.new=two.new, three.new=three.new, number = number)))

}

result = search(A)

result$two.new

result$three.new

result$number

链接: http://www.bio-info-trainee.com/4385.html

我做题的时候主要翻阅学习了《R语言实战》里统计相关内容。

需要掌握R内置数据集及R包数据集

鸢尾花(iris)数据集,包含150个鸢尾花的信息,共五列,分别为萼片长度(Sepal.Length)、萼片宽度(Sepal.Width)、花瓣长度(Petal.Length)、花瓣宽度(Petal.Width)和种类(Species)。前四列为定量数据,后一列种类为定性数据,是非连续的字符变量。

定量数据的集中趋势指标主要是:众数、分位数和平均数

定量数据的离散趋势指标主要是:极差,方差和标准差,标准分数,相对离散系数(变异系数),偏态系数与峰态系数

分组统计,最一开始是想将数据集分成三个数据框,重复之前函数,有几个方法:

或者不分开,之前对原数据集计算:

apply函数可以解决数据循环处理的问题,可以对矩阵、数据框、数组(二维、多维),按行或列进行循环计算,对子元素进行迭代,并把子元素以参数形式给自定义的FUN函数中,并返回计算结果。

函数定义:

apply(X,MARGIN,FUN,...)

参数列表:

用来对list、data.frame进行循环,并返回和X长度同样的list结构作为结果集。

同lapply函数,多了2个参数simplify和USE.NAMES,返回值为向量,不是list对象。

类似sapply函数,提供了FUN.VALUE参数,用来控制返回值的行名。

类似sapply函数,第一个参数为FUN,可接受多个数据。

tapply函数用于分组的循环计算,相当于group by的操作。

函数定义:

tapply(X,INDEX,FUN,simplify,...)

参数列表:

只处理list类型数据,对list的每个元素进行递归遍历,如果list包括子元素则继续遍历。

R可以计算多种相关系数,包括Pearson相关系数、Spearman相关系数、Kendall相关系数、偏相关系数、多分格相关系数、多系列相关系数。cor()函数可以计算前三种相关系数,cov()函数可以计算协方差。

数据的标准化是指中心化之后的数据在除以数据集的标准差,即数据集中的各项数据减去数据集的均值再除以数据集的标准差。scale()函数可以完成标准化。

mtcars数据集是32辆汽车在11个指标上的数据。

airway包是8个样本的RNA-seq数据的counts矩阵,这8个样本分成2组,每组是4个样本,分别是 trt 和 untrt 组。

t检验是一种可用于比较的假设检验。

理解t检验:一个年纪共有好多学生,需要研究他们的平均身高。这时,这批学生是我们 要研究的对象 ,即 总体 。从这个年纪中每个班级随机挑选10名同学,这部分同学则为 样本 ,通过样本来对总体的某个统计特征(比如上面研究的平均值、众数、方差等)做判断的方法为 假设检验 。

一个针对两组的独立样本t检验可以用于检验两个总体的均值相等的假设,检验调用格式为:

t.test( y ~ x, data )

其中y是一个数值型变量,x是一个二分变量。

t.test(y1,y2)

其中y1、y2为数值型向量。

现在还不能用自己的语言解释清楚,整合几篇写的比较详细的教程:

http://www.biye5u.com/article/R/2019/6399.html

https://www.jianshu.com/p/67be9b3806cd

统计这部分还是似懂非懂的状态,继续学习~

更多学习资源:

生信技能树公益视频合辑

生信技能树账号

生信工程师入门最佳指南

生信技能树全球公益巡讲

招学徒

...

你的宣传能让数以万计的初学者找到他们的家,技能树平台一定不会辜负每一个热爱学习和分享的同道中人