今天小果想通过实例进行tidyverse数据格式转换的尝试,代码如下:
- 安装需要的R包
install.packages(“tidyverse”)
install.packages(“reshape2”)
- 导入需要的R包
library(tidyverse)
library(reshape2)
- 代码展示
#读取数据
Sample<-read.table(“Sample.txt”,header=T)
data<-read.table(“data.txt”,header=T)
3.1 两个文件进行合并(通过相同的一列将两个列表合并)
df<-left_join(data,Sample,by=”Sample”)
#通过merge函数来合并
df<-merge(data,Sample,by=”Sample”)
3.2长宽数据转换
#通过tidyverse转换
df1<-df %>%pivot_longer(-c(Sample,trat1)) #Sample和trat1这两列不转换
#长宽数据也可以用reshape2包进行转换
df2 = melt(df,
measure.vars = colnames(df)[2:8], #需要合并的列
variable.name = “name”, #合并后的列名设置
value.name = “value”)
3.3修改某一列列名
df1<-df1%>%rename(group=trat1) #将trat1改为group
3.4 删除某一列
df1<-df1%>%select(-Sample)
3.5保存最终格式转换文件
write.table(df1,file=”final.txt”,sep=”\t”,col.names=T,quote=F)
最终通过数据转换获得了想要的数据格式,今天小果的分享就到这里,有需要的可以借鉴学习。