r - 合并来自两列的信息并在 R 中扩展数据框
问题描述
我有一个这样的数据框:
n s b
1 2 aa TRUE
2 3 bb FALSE
3 5 cc TRUE
我如何通过组合一些信息将数据框扩展到这样的东西。
n tags
1 2_s aa
2 3_s bb
3 5_s cc
4 2_b TRUE
5 3_b FALSE
6 5_b TRUE
.
.
.
看看 n 列现在是如何组合它的原始名称和列名称以及标记是它们的原始值。
解决方案
我们gather
把 's', 'b' 列变成 'long' 格式然后做一个unite
library(tidyverse)
gather(df1, key, tags, s:b) %>%
unite(n, n, key)
# n tags
#1 2_s aa
#2 3_s bb
#3 5_s cc
#4 2_b TRUE
#5 3_b FALSE
#6 5_b TRUE
数据
df1 <- structure(list(n = c(2L, 3L, 5L), s = c("aa", "bb", "cc"), b = c(TRUE,
FALSE, TRUE)), class = "data.frame", row.names = c("1", "2",
"3"))
推荐阅读
- jenkins - Jenkins Pipeline - 如何随着时间的推移进行维护
- android - 从 NodeJS/MongoDB API 获取实时数据更新的工作流程是什么?
- python - 需要从保留顺序的嵌套列表中删除重复项
- css - VB.net 通过 MVC 站点中的 ViewBag 传递 grid-template-areas 和 grid-template-columns 值
- android - 如何捕获 RuntimeException
- php - php artisan migrate 说“没有什么要迁移”
- c# - 如何在 C# 中有效地调整图像大小?
- postgresql - 无法对 jdbc 驱动程序使用复制功能
- sql - Rails:查询子孙,对子运行方法,对孙子的SQL SUM - 导致数组?
- python - 错误,因为对象属性不存在,但它确实存在