r - 如何在 col 名称顶部添加 var 标签
问题描述
我有两个data.frame,一个用于数据(df),一个用于var label(vl)。
样本数据 df 和 vl 可以使用代码构建:
df<-structure(list(ID = c(1, 1, 1, 2, 2, 3, 3, 3), Date = c("Day 1",
"Day 7", "Day 29", "Day_8", "Day9", "Day7", "Day.1", "Day 21"
), Score = c("A", "B", "E", "D", "F", "G", "A", "B"), Pass = c("Y",
"Y", "N", "Y", "N", "N", "Y", "Y")), row.names = c(NA, -8L), class = c("tbl_df",
"tbl", "data.frame"))
vl <-structure(list(Var = c("ID", "Score", "Pass", "Date"), Label = c("Subject ID",
"Exam Score", "Pass or Fail the Exam", "Exam Date")), row.names = c(NA,
-4L), class = c("tbl_df", "tbl", "data.frame"))
解决方案
在 R 中,数据框不能有双列名,因此一种方法是将原始列名作为第一行。
setNames(rbind(names(df), df), vl$Label[match(names(df), vl$Var)])
# `Subject ID` `Exam Date` `Exam Score` `Pass or Fail the Exam`
# <chr> <chr> <chr> <chr>
#1 ID Date Score Pass
#2 1 Day 1 A Y
#3 1 Day 7 B Y
#4 1 Day 29 E N
#5 2 Day_8 D Y
#6 2 Day9 F N
#7 3 Day7 G N
#8 3 Day.1 A Y
#9 3 Day 21 B Y
推荐阅读
- python-3.x - 如何使用 spinbox 选择列表中的项目,然后使用添加到购物车按钮将该项目添加到发票?Python 3
- java - 我可以在旧平台上使用来自更高版本 API 的方法或类吗?
- android - Android Studio 运行带有编译时错误的应用程序
- node.js - 如何在nodejs中显示来自mongodb数据库的html
- c - 函数指针 - 变量未初始化
- python - 如何使用 Python 中的 Beautiful Soup 查找标签中包含 2 或 3 个单词的所有链接
- bash - 如何使用shell脚本从c9登录heroku?
- android - 从活动更新通知服务
- c - 求素数的C程序
- swift - 使用 https 证书 swift 4