r - 根据单元格中的值数量在 R 中重塑数据框
问题描述
我希望从以下位置转换 R 中的数据框df:
col1 col2
X1 A;B
X2 B
X3 C;D
X4 D
进入:
col1 col2
X1 A
X1 B
X2 B
X3 C
X3 D
X4 D
我想出了一个我放错地方的复杂解决方案,并且认为必须有一种更简单的方法来做到这一点。感谢您的任何指示。
解决方案
library(tidytext)
unnest_tokens(dat,col2,col2,to_lower=F)
col1 col2
1 X1 A
1.1 X1 B
2 X2 B
3 X3 C
3.1 X3 D
4 X4 D
不使用包:在基础 R 中,您可以执行以下操作:
stack(setNames(strsplit(dat$col2,";"),dat$col1))
values ind
1 A X1
2 B X1
3 B X2
4 C X3
5 D X3
6 D X4
您可以根据需要排列列
推荐阅读
- c# - 从 ac# _context 获取匹配值并更新匹配字段
- kubernetes - 有没有办法备份/恢复/升级 Minikube 集群的无状态部分?
- redis - Redis 更新排序集中的所有分数
- node.js - 无法在 MAC 中卸载/更新 Angular Cli
- android - Jetpack 在灯光模式下撰写动画错误
- javascript - 如何在不支持值时声明带有后备的 CSS 值
- r - Rpubs包的R函数rpubs_code无法从Rpubs文章中提取代码
- javascript - 如何将“关键帧”css 应用于 React 组件中的特定类?
- spring-boot - 无法启动网络服务器;嵌套异常是 org.springframework.boot.web.server.WebServerException
- python - NamedTemporaryFile() 用于在烧瓶 send_file 之后清除文件