gpt4 book ai didi

基于 R 中第一列中的重复行进行 reshape

转载 作者:行者123 更新时间:2023-12-02 02:52:18 33 4
gpt4 key购买 nike

我想知道如何 reshape 以下数据集:

这是生成以下内容的代码:

data.frame(Variable = c("Date","Location_1","Location_2","Date","Location_1","Location_2"),
Monday = c("7/1/20","1","2","7/3/20","1","2"),
Tuesday = c("7/2/20","5","2","7/4/20","5","2"))


Variable Monday Tuesday
Date 7/1/20 7/2/20
Location_1 1 5
Location_2 2 2
Date 7/3/20 7/4/20
Location_1 1 5
Location_2 2 2

进入

Date      Location_1 Location_2
7/1/20 1 2
7/2/20 5 2
7/3/20 1 2
7/4/20 5 2

我不确定为什么我在正确使用转置方面遇到困难,但这似乎是我缺少的一个简单的解决方案。任何帮助将不胜感激。

谢谢!

最佳答案

获取长格式的数据,创建标识符列并返回宽格式。

library(dplyr)
library(tidyr)

df %>%
pivot_longer(cols = -Variable) %>%
select(-name) %>%
group_by(Variable) %>%
mutate(row = row_number()) %>%
pivot_wider(names_from = Variable, values_from = value) %>%
select(-row)

# Date Location_1 Location_2
# <chr> <chr> <chr>
#1 7/1/20 1 2
#2 7/2/20 5 2
#3 7/3/20 1 2
#4 7/4/20 5 2

data.table中使用melt + dcast

library(data.table)

dcast(melt(setDT(df), id.vars = 'Variable'), rowid(Variable)~Variable,
value.var = 'value')

关于基于 R 中第一列中的重复行进行 reshape ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61744466/

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