gpt4 book ai didi

r - 使用多个值变量 R 进行转换

转载 作者:行者123 更新时间:2023-12-04 22:45:34 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Reshape multiple values at once

(2 个回答)


6年前关闭。




我想从长格式到宽格式。我的数据看起来像这样:

day=c(1,2,3,4,5,6,1,2,3,4,5,6)
site=c('a', 'a', 'a', 'a', 'a', 'a', 'b', 'b', 'b', 'b', 'b', 'b')
value.1=c(1,2,5,7,5,3,9,4,2,8,1,8)
value.2=c(5,4,7,6,2,4,6,9,4,2,5,6)
data=data.frame(day,site,value.1,value.2)
> data
day site value.1 value.2
1 1 a 1 5
2 2 a 2 4
3 3 a 5 7
4 4 a 7 6
5 5 a 5 2
6 6 a 3 4
7 1 b 9 6
8 2 b 4 9
9 3 b 2 4
10 4 b 8 2
11 5 b 1 5
12 6 b 8 6

我想根据站点将其切换为宽格式。所以它看起来像这样
> data
day a.value.1 a.value.2 b.value.1 b.value.2
1 1 1 5 9 6
2 2 2 4 4 9
3 3 5 7 2 4
4 4 7 6 8 2
5 5 5 2 1 5
6 6 3 4 8 6

我觉得我应该可以用 reshape 做到这一点。包,但我想不通

我希望得到一些帮助。
谢谢

最佳答案

您可以在 base R 中执行此操作

reshape(data, idvar='day', timevar='site',direction='wide')
# day value.1.a value.2.a value.1.b value.2.b
#1 1 1 5 9 6
#2 2 2 4 4 9
#3 3 5 7 2 4
#4 4 7 6 8 2
#5 5 5 2 1 5
#6 6 3 4 8 6

关于r - 使用多个值变量 R 进行转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28094998/

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