gpt4 book ai didi

r - 无法将 "gather"输出的列名称更改为默认名称以外的任何名称

转载 作者:行者123 更新时间:2023-12-04 21:14:55 25 4
gpt4 key购买 nike

我正在尝试使用 gathertidyr包,但我无法从默认名称更改输出的列名称。例如:

df = data.frame(time = 1:100,a = 1:100,b = 101:200)
df.long = df %>% gather("foo","bar",a:b)
colnames(df.long)

给我
[1] "time"     "variable" "value"   

但不应该是 "time" "foo" "bar" ?

我可以将“foo”和“bar”更改为我想要的任何内容,它仍然给我“变量”和“值”作为我的列名。

帮助。我在这里缺少什么?

最佳答案

这可能是一个错误。如果您愿意尝试其他方式,例如 data.table 的melt(),您可以执行以下操作:

# Need to load both data.table and reshape2
# For more information, could check ?data.table
library(reshape2); library(data.table)
setDT(df)
df %>% melt(id.vars = "time", variable.name = "foo", value.name = "bar")

> First 20 rows
time foo bar
1: 1 a 1
2: 2 a 2
3: 3 a 3
4: 4 a 4
5: 5 a 5
6: 6 a 6
7: 7 a 7
8: 8 a 8
9: 9 a 9
10: 10 a 10
11: 1 b 11
12: 2 b 12
13: 3 b 13
14: 4 b 14
15: 5 b 15
16: 6 b 16
17: 7 b 17
18: 8 b 18
19: 9 b 19
20: 10 b 20

关于r - 无法将 "gather"输出的列名称更改为默认名称以外的任何名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26130751/

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