r - 按列中的计数拆分行
问题描述
我得到的行布局如下:
我希望将这些数据转换为:
我自己还没有在 R 中尝试过任何东西,因为我能想到的只是循环遍历框架,我的猜测是 R 中有更有效的方法。你们中的任何人都知道如何有效地实现这一点吗?
对于那些需要工作样本的人来说,@Ronack 的生成方法是:
df = structure(list(Date = c("23-10-2019", "24-10-2019"),
`30s` = c(3, 2),
`40s` = c(2, 1)),
class = "data.frame", row.names = c(NA, -2L))
解决方案
使用pivot_longer
+uncount
来自tidyr
:
library(tidyr)
df %>%
pivot_longer(cols = -Date, names_to = 'measure') %>%
uncount(value)
# Date measure
# <chr> <chr>
#1 23-10-2019 30s
#2 23-10-2019 30s
#3 23-10-2019 30s
#4 23-10-2019 40s
#5 23-10-2019 40s
#6 24-10-2019 30s
#7 24-10-2019 30s
#8 24-10-2019 40s
数据
df <- structure(list(Date = c("23-10-2019", "24-10-2019"), `30s` = c(3,
2), `40s` = c(2, 1)), class = "data.frame", row.names = c(NA, -2L))
推荐阅读
- java - Spring Boot Jpa 规范 Set Enums IN Set Enums
- netsuite - NetSuite 保存的搜索可计算金额范围内的发票
- python - 尝试安装 discord.py 时出错 - “无法为使用 PEP 517 且无法直接安装的 multidict、yarl 构建轮子”
- javascript - 如何从 React 中的不同类访问状态值?
- delphi - 如何在 Delphi 中刷新 TDBGrid 以显示新记录?
- docker - 如何将 pod/容器创建时间戳标签添加到 kubernetes docker 容器标签?
- android - 检查 NavDestination 是否代表 DialogFragment
- sql - SQL 查询根据类型获取 SQL Server 数据库中的系统函数计数
- kubernetes - Minikube 中的存储空间是如何分配的?
- pdf - Wireshark - pdf 源到实际 pdf