gpt4 book ai didi

R:双枢轴使用 DPLYR?

转载 作者:行者123 更新时间:2023-12-05 04:19:44 25 4
gpt4 key购买 nike

我正在使用 R 编程语言。

我有一个看起来像这样的数据集:

x = c("GROUP", "A", "B", "C")
date_1 = c("CLASS 1", 20, 60, 82)
date_1_1 = c("CLASS 2", 37, 22, 8)
date_2 = c("CLASS 1", 15,100,76)
date_2_1 = c("CLASS 2", 84, 18,88)

my_data = data.frame(x, date_1, date_1_1, date_2, date_2_1)

x date_1 date_1_1 date_2 date_2_1
1 GROUP CLASS 1 CLASS 2 CLASS 1 CLASS 2
2 A 20 37 15 84
3 B 60 22 100 18
4 C 82 8 76 88

我正在尝试重组数据,使其看起来像这样:

  • 注意:在真实的 excel 数据中,date_1 与 date_1_1 是相同的日期,date_2 与 date_2_1 相同...R 不接受相同的名称,所以我以不同的方式调用它们

enter image description here

目前,我在 Excel 中使用不同的“转置”函数手动执行此操作 - 但我想知道是否有一种方法可以在 R 中执行此操作(可能使用 DPLYR 库)。

我一直在尝试在线阅读不同的教程网站 (Pivoting),但到目前为止,似乎没有任何内容与我正在尝试解决的问题相符。

有人可以告诉我怎么做吗?

谢谢!

最佳答案

由于重复的列名而对您的数据做出假设。例如,如果列标题模式是 CLASS_ClassNum_Date

df<-data.frame(GROUP = c("A", "B", "C"),
CLASS_1_1 = c(20, 60, 82),
CLASS_2_1 = c(37, 22, 8),
CLASS_1_2 = c(15,100,76),
CLASS_2_2 = c(84, 18,88))
library(tidyr)
pivot_longer(df, -GROUP,
names_pattern = "(CLASS_.*)_(.*)",
names_to = c(".value", "Date"))
  GROUP Date  CLASS_1 CLASS_2
<chr> <chr> <dbl> <dbl>
1 A 1 20 37
2 A 2 15 84
3 B 1 60 22
4 B 2 100 18
5 C 1 82 8
6 C 2 76 88

编辑:通过正确使用 names_pattern= 显着改进了 pivot_longer

关于R:双枢轴使用 DPLYR?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74736668/

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