####数据框的整理####
##首先使用R语言基本函数进行处理,这里使用我们自己的数据做一个演示;
setwd("E:/Shared_Folder/HG_usearch_HG")
# 读入实验设计和Alpha多样性值
design = read.table("map_lxdjhg.txt",header=T, row.names= 1, sep="\t")
alpha =read.table("alpha8825.txt", header=T, row.names= 1,sep="\t")
下面开始整理数据
cbind函数是最基础的横向合并数据框的函数,这样由于没有指定索引列,必须保证两个数据框列名完全一样,并且排列顺序也完全一致,这里我很少采用这种方法。
##
index=cbind(alpha, design)
##因此,我们使用merge函数,由于我们导入数据均设置了第一列为列名,而且我们知道列名是一样的;
#all=F参数是根据列名匹配上的并入,没有匹配上的丢弃
index = merge(alpha,design,by="row.names",all=F)
#对于我们而言,design文件并不是全部都是我们想要的,因此我们选择了一部分
design1<-design[1:6,]
#这里以design文件为索引,选择多样性指标,all.x中的x就是指第一个数据框
index = merge(design1,alpha,by="row.names",all=F,all.x=TRUE)
#######附::::这里我们的数据不是这种形式的
#仅仅包含两个数据框,这种会根据两个数据框中所有的相同列(根据列名选择),选择全部列共有的元素;
merge(design1,alpha)
#如果两个数据库框中还有超过两列相同的列,但是按照其中一列进行合并,则剩下的相同的列则会分为x(前一个数据框),y(后一个数据框)分别显示各自的列;
merge(design1,alpha,by="row.names")
#####
###提取我们不需要的变量
index$LinkerPrimerSequence <- NULL
index$BarcodeSequence<- NULL
#当然还有其他方法,更据列名选择要去掉的列名
wt<-names(index) %in%c("Description")
#!表示非的意思,将逻辑值反转
index<-index[!wt]
###当然,如果我们不加上“!”,就是选择这个列留下,具体使用根据自己想留下的多还是想去除的多;
#
#
#
#下面我们进行选择需要的观测
#根据我们的实验我们选择GF1和GC1这两组的观测,同时我们只选择一下三列足够做alpha多样性
index1<-subset(index,SampleType=="GF1"|SampleType=="GC1",select =c("SampleType","shannon","chao1"))、
学习永无止境,分享永不停息!