微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 R 重塑数据,标题为两行,从宽到长

如何解决如何使用 R 重塑数据,标题为两行,从宽到长

以下数据集是我现在所拥有的:

enter image description here

我想得到 R 代码以获得以下形状:

enter image description here

注意:我有20个站,有些站没有WD属性

问候,

艾哈迈德

解决方法

您应该尝试查看 pivot_wider() 包中的 tidyverse 函数和文档。用例应与您在此处描述的完全匹配。

,

假设我们有以下带有两行标题的数据:

c1 <- c('','','Alice','Bob','Bob')
c2 <- c('','Cold','Flu','Flu')
c3 <- c('2014','Fall','X','X')
c4 <- c('2014','Winter','')
c5 <- c('2015','X')
c6 <- c('2015','')
df <- data.frame(c1,c2,c3,c4,c5,c6)

我首先将两列合并为一列,然后融合/聚集,最后分离

library(dplyr) 
library(tidyr)

在此处插入您的 df

col.names

df <- df[-c(1,2),]

df <- setNames(df,col.names)

df %>%
  gather(Season,Value,-Person,-Type) %>%
  mutate(Season = as.character(Season)) %>%
  separate(Season,c("Year","Season"))
,

您可以尝试使用 reshape2 包


Df_long <- melt(df,id.vars=c("Date","Time"),measure.vars=c("TEMPERAT","RH","WS","WD","SOL_RAD","UV A","UV B"),variable.name="Values",value.name="Station") ```

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。