r - 重命名 gt() 表中的行值
问题描述
我试图从 gt() 表中删除字符串,但没有成功。在我的表中,我想要多个列名/标题,涵盖名为“Day 0”、“Day 4”、“Day 10”、“Day 17”的两列以及名为“mean”和“se”的子列。在查看数据时可能更容易理解。
我现在想要的是从子列中删除“第 0 天”(或例如“第 4 天”)。有什么建议么?
我的代码:
library(gt)
gt(mean_se)%>%
tab_spanner(label = "Day 0", columns = matches("0")) %>%
tab_spanner(label = "Day 4", columns = matches("4")) %>%
tab_spanner(label = "Day 10", columns = matches("10")) %>%
tab_spanner(label = "Day 17", columns = matches("17")) %>%
tab_header(
title = md("Biogenic volatile organic compound emissions"))
# str_remove(mean_se, "day 0")
# rename("mean"=="mean day 0")
这是数据:
mean_se <- structure(list(mass = c("i.x33.031", "i.x35.034", "i.x36.017",
"i.x39.959", "i.x40.023"), `mean day 0` = c("241.82", "0.36",
"1.78", "0.2", "1.82"), `se day 0` = c("241.82", "0.36", "1.78",
"0.2", "1.82"), `mean day 4` = c("32.94", "0.14", "0", "0", "1.74"
), `se day 4` = c("32.94", "0.14", "0", "0", "1.74"), `mean day 10` = c("266.28",
"0.6", "0", "0", "1.58"), `se day 10` = c("266.28", "0.6", "0",
"0", "1.58"), `mean day 17` = c("451.4", "0.48", "0", "0", "2.94"
), `se day 17` = c("451.4", "0.48", "0", "0", "2.94")), row.names = c(NA,
-5L), class = "data.frame")
解决方案
一种方法是使用cols_label
. 此函数接受个人参数来重命名特定列,例如"mean day 0" = "mean"
. 但是把所有这些都打出来是很多工作。相反,我们可以使用.list =
并提供我们想要重命名的所有列的命名列表。
我们可以重复适当的次数并用列名命名该字符向量"mean"
:"se"
setNames(rep(c("mean","se"),(ncol(mean_se)-1)/2),names(mean_se)[-1])
# mean day 0 se day 0 mean day 4 se day 4 mean day 10 se day 10 mean day 17 se day 17
# "mean" "se" "mean" "se" "mean" "se" "mean" "se"
为了保持顺序正确,我们可以使用cols_move
.
gt(mean_se)%>%
tab_spanner(label = "Day 0", columns = matches("0")) %>%
tab_spanner(label = "Day 4", columns = matches("4")) %>%
tab_spanner(label = "Day 10", columns = matches("10")) %>%
tab_spanner(label = "Day 17", columns = matches("17")) %>%
cols_label(.list = setNames(rep(c("mean","se"),(ncol(mean_se)-1)/2),
names(mean_se)[-1])) %>%
cols_move(columns = names(mean_se)[-1], after = names(mean_se)[1]) %>%
tab_header(
title = md("Biogenic volatile organic compound emissions"))
推荐阅读
- firebase - firestore 在同一功能中使用事务两次
- php - 在 Laravel 中处理通知创建的最佳方法是什么?
- c++ - 如何为班级选择正确的模板
- android - Android - Fragment 中的 GlSurfaceView 同时运行两次
- mongodb - Mongodb-Query db 使用来自另一个查询的结果
- r - 递归读取csv文件并对两个文件进行计算
- java - 为什么部署后在 RESTEasy (wildfly) 上出现 404 错误?
- python-3.x - 无法从 Python 中的 Beautifulsoup 中转义值
- javascript - 在本地环境中运行时,ghostscript 转换不会创建输出文件
- python-3.x - 全局变量未正确定义 [PYTHON 3]