首页 / 文章汇 / 语言学习 / R语言

使用tidyr包在R语言环境中实现宽表格转换为长表格

  • 看不见的线
  • 75
  • 2024-03-19 17:13:15
  • 原创

什么是宽表格和长表格?

在数据分析中,我们通常会遇到两种类型的数据表格:宽表格和长表格。

宽表格是指每一列代表一个变量,每一行代表一个观察值的数据表格。宽表格的形式适合展示多个变量之间的关系,但在某些情况下,数据的分析和可视化可能更为困难,因为变量信息被分散在不同的列中。

以下是一个示例的宽表格:

PhylumSample1Sample2Sample3Sample4Sample5Sample6Sample7Sample8Sample9
Asgardarchaeota9.449.7711.5610.0710.1311.2510.2610.019.65
Thaumarchaeota4.284.254.063.954.569.938.839.379.97
Euryarchaeota8.079.979.978.4810.799.278.469.3110.12
Iainarchaeota8.999.2110.311.6411.081716.9617.9817.87
Nanoarchaeota21.6220.2421.8520.2521.6318.2519.6820.8520.35
Acidobacteriota11.7210.468.739.319.5514.9514.2213.3314.62

相比之下,长表格是指变量和观察值分别存储在不同的列中的数据表格。通常,长表格的形式更适合用于数据分析,因为它能够更容易地进行数据重塑和处理。长表格的优势在于变量和值的对应关系更为清晰,有助于某些统计和可视化分析。

以下是将上述宽表格转换为长表格后的示例:

Phylum

Sample

Value

Asgardarchaeota

Sample1

9.44

Asgardarchaeota

Sample2

9.77

Asgardarchaeota

Sample3

11.56

Asgardarchaeota

Sample4

10.07

Asgardarchaeota

Sample5

10.13

Asgardarchaeota

Sample6

11.25

Asgardarchaeota

Sample7

10.26

Asgardarchaeota

Sample8

10.01

Asgardarchaeota

Sample9

9.65

Thaumarchaeota

Sample1

4.28

Thaumarchaeota

Sample2

4.25

……

……

……

使用tidyr包进行转换

要将宽表格转换为长表格,我们可以使用R语言中的tidyr包。tidyr包提供了一系列函数,可以帮助我们完成这个任务。

安装和加载tidyr包

首先,我们需要安装tidyr包。在R语言环境中,可以通过以下命令来安装:

install.packages("tidyr")

安装完毕后,我们可以使用以下命令来加载tidyr包:

library(tidyr)

使用pivot_longer函数

在tidyr包中,pivot_longer函数用于将宽表格转换为长表格。下面是pivot_longer函数的基本语法:

pivot_longer(data, cols, names_to, values_to)

其中:

data是要转换的数据表格;

cols是要转换的列;

names_to是指定转换后的变量名称存储的列;

values_to是指定转换后的观察值存储的列。

以下是一个示例代码,演示如何使用pivot_longer函数将上述宽表格转换为长表格:

#加载tidyr包

library(tidyr)

#创建示例宽表格

wide_table <- data.frame(

Phylum = c("Asgardarchaeota", "Thaumarchaeota", "Euryarchaeota", "Iainarchaeota", "Nanoarchaeota", "Acidobacteriota"),

Sample1 = c(9.44, 4.28, 8.07, 8.99, 21.62, 11.72),

Sample2 = c(9.77, 4.25, 9.97, 9.21, 20.24, 10.46),

Sample3 = c(11.56, 4.06, 9.97, 10.3, 21.85, 8.73),

Sample4 = c(10.07, 3.95, 8.48, 11.64, 20.25, 9.31),

Sample5 = c(10.13, 4.56, 10.79, 11.08, 21.63, 9.55),

Sample6 = c(11.25, 9.93, 9.27, 17, 18.25, 14.95),

Sample7 = c(10.26, 8.83, 8.46, 16.96, 19.68, 14.22),

Sample8 = c(10.01, 9.37, 9.31, 17.98, 20.85, 13.33),

Sample9 = c(9.65, 9.97, 10.12, 17.87, 20.35, 14.62)

)

#使用pivot_longer函数转换为长表格

long_table <- pivot_longer(wide_table, cols = -Phylum,

names_to = "Sample", values_to = "Value")

#输出转换后的长表格

long_table

执行以上代码,我们可以得到如上所示的长表格。

在本文中,我们介绍了如何使用R语言中的tidyr包来将宽表格转换为长表格。通过使用pivot_longer函数,我们可以轻松地完成这个任务。长表格对于数据分析和可视化非常有用,因为它更容易处理和展示数据。希望这篇文章对大家有所帮助!

推荐课程

【课程】微生物比较基因组精品系列课——全套自学必入的系统课程

课程链接:微生物比较基因组精品系列课【全套】

【课程】铜绿假单胞菌基因组研究和分子分型实战

课程链接:铜绿假单胞菌基因组研究和分子分型实战

【课程】微生物比较基因组与群体进化——基因组变异专题研究

课程链接:微生物比较基因组与群体进化

【课程】微生物分子分型-MLST课程——分型全套(含理论、软件、方法)

课程链接:微生物分子分型-MLST课程

【课程】基因组结构分析神器Easyfig实操精品课

课程链接:基因组结构分析神器Easyfig实操精品课

【课程】BRIG绘图——结构比较专题2

课程链接:走进比较基因组,BRIG软件带你轻松玩绘图

【课程】肺炎克雷伯菌基因组学研究综合指南

课程链接:肺炎克雷伯菌基因组学研究综合指南

【课程】微生物基因组生信必学课程

课程链接:微生物基因组生信分析必学课程

【课程】微生物生防菌研究

课程链接:生防菌的系统化研究

专题材料

【资料】耐药专题材料

【资料】生防专题材料

请添加唯那生物技术客服小唯的微信号winnerbio01,备注“耐药专题”或“生防专题”,立马获取。

更多专题推荐

1、生信技能课专辑

2、耐药毒力专题

3、肺炎克雷伯菌专题

4、密码子偏好性专题

5、Easyfig相关问答

6、MLST-cgMLST

7、软件脚本分享

8、微生物基因组研究文章

9、知识干货

10、分泌系统

11、软件下载

12、书籍下载

  • 点赞 (0人)
  • 收藏 (0人)
看不见的线
  • 课程数:
  • 文章数:
  • 学习人数: 0
关注
--- 作者文章 ---
  • 暂无内容
作者课程
  • 暂无内容
相关好课严选

官方微信公众号

客服热线:15618809518

【勤学如春起之苗,不见其增日有所长。假以时日,你定会为你的努力学习而倍感骄傲,加油!】