利用tidyverse进行数据格式转换

今天小果想通过实例进行tidyverse数据格式转换的尝试,代码如下:

  1. 安装需要的R包

install.packages(“tidyverse”)

install.packages(“reshape2”)

  1. 导入需要的R包

library(tidyverse)

library(reshape2)

  1. 代码展示

#读取数据

Sample<-read.table(“Sample.txt”,header=T)

Dingtalk_20230222133730

data<-read.table(“data.txt”,header=T)

Dingtalk_20230222133834

3.1 两个文件进行合并(通过相同的一列将两个列表合并)

df<-left_join(data,Sample,by=”Sample”)

Dingtalk_20230222134124

#通过merge函数来合并

df<-merge(data,Sample,by=”Sample”)

Dingtalk_20230222143550

3.2长宽数据转换

#通过tidyverse转换

df1<-df %>%pivot_longer(-c(Sample,trat1)) #Sample和trat1这两列不转换

Dingtalk_20230222135016

#长宽数据也可以用reshape2包进行转换

df2 = melt(df,

measure.vars = colnames(df)[2:8], #需要合并的列

variable.name = “name”, #合并后的列名设置

value.name = “value”)

Dingtalk_20230222140003

3.3修改某一列列名

df1<-df1%>%rename(group=trat1) #将trat1改为group

Dingtalk_20230222140758

3.4 删除某一列

df1<-df1%>%select(-Sample)

Dingtalk_20230222141057

3.5保存最终格式转换文件

write.table(df1,file=”final.txt”,sep=”\t”,col.names=T,quote=F)

Dingtalk_20230222142003

最终通过数据转换获得了想要的数据格式,今天小果的分享就到这里,有需要的可以借鉴学习。