r - 通过在大型数据框中交叉来合并两列
问题描述
假设这个数据框:
x<-data.frame(id1=c("a","b","c"),vals1=1:3)
我怎样才能实现以下目标:
NEW
1 a
2 1
3 b
4 2
5 c
6 3
解决方案
基础 R 解决方案:
# Data: x => data.frame
x <- data.frame(id1 = c("a","b","c"), vals1 = 1:3)
# Allocate memory -- create empty character vector: NEW => character vector:
NEW <- vector("character", (ncol(x) * nrow(x)))
# Store the solution: y => data.frame
y <- data.frame(NEW = as.character(unlist(sapply(seq_len(nrow(x)), function(i){
c(as.character(x$id1[i, drop = TRUE]), as.character(x$vals1[i, drop = TRUE]))
}
)
)
)
)
推荐阅读
- python - 在 pandas 列中出现许多不同的事件
- vb.net - 随机数生成器重复输出值
- couchbase - CbBackup 工具在集群中的特定存储桶不活动 30 秒后被中断
- css - IE11 不应用媒体查询
- node.js - 为什么我的 Nightwatch.js 测试无法连接到 CircleCI 上的 localhost 端口 9515 而不是在本地成功运行?
- javascript - 如何将此 if 语句转换为三元(javascript)
- pandas - 如何调用函数并创建新函数
- visual-studio - VS 不调试当前源文件
- python - 在微信中添加多轮提示?
- mtom - Springws 和 MTOM 客户端通过平衡器时 KO