gpt4 book ai didi

r - 将列转换为保留列名称的行

转载 作者:行者123 更新时间:2023-12-03 21:57:41 26 4
gpt4 key购买 nike

R中有什么方法可以将列转换为保留列名称的行?

示例输入:

A   B
1 1
2 3
3 4
44 5

输出
 Group Number
A 1
A 2
A 3
A 44
B 1
B 3
B 4
B 5

最佳答案

无需使用reshape2 ,您可以使用 stack来自 base-R 的函数:

your.data作为你的例子:

res <- stack(your.data)
colnames(res) = c("Number", "Group")

给你
> res
Number Group
1 1 A
2 2 A
3 3 A
4 44 A
5 1 B
6 3 B
7 4 B
8 5 B

另见 here .

基准测试 melt来自 reshape2stack基于更大的数据:
require(reshape2)
set.seed(45)
DF <- data.frame(matrix(sample(20, 1e6, TRUE), ncol=100))

require(microbenchmark)
microbenchmark(stack(DF), melt(DF), times=100)

Unit: milliseconds
expr min lq median uq max neval
stack(DF) 157.7084 187.1993 241.8206 251.7132 334.5488 100
melt(DF) 174.6079 253.1088 261.6234 273.3971 443.9953 100

好像 stack速度更快,但差了 20 毫秒......

关于r - 将列转换为保留列名称的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17948214/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com