多列上的 Pivot_longer/pivot_wider

发布于 2025-01-12 01:32:07 字数 1146 浏览 2 评论 0原文

我有以下数据集

在此处输入图像描述

代码如下:

df = structure(list(UID = structure(1:5, .Label = c("C001", "C002", 
"C003", "C004", "C005"), class = "factor"), Shop_Code = structure(1:5, .Label = c("A", 
"B", "C", "D", "E"), class = "factor"), Shop_District_Code = structure(1:5, .Label = c("AA", 
"BB", "CC", "DD", "EE"), class = "factor"), Bread = c(5, 4.8, 
4.5, 4.2, 5), Apple = c(3, 2.8, 3.1, 3.4, 3.2), Coke = c(3, 2.6, 
2.8, 3, 3.1), Bread_1 = c(NA, NA, NA, 4.6, NA), Apple_1 = c(NA, 
NA, NA, 2.6, NA), Coke_1 = c(NA, NA, NA, 2.2, NA), Bread_2 = c(NA, 
NA, 4.6, NA, 5.1), Apple_2 = c(NA, NA, 3, NA, 3.3), Coke_2 = c(NA, 
NA, 3, NA, 3.2), Bread_3 = c(NA, NA, 4.8, NA, NA), Apple_3 = c(NA, 
NA, 2.7, NA, NA), Coke_3 = c(NA, NA, 2.6, NA, NA)), class = "data.frame", row.names = c(NA, 
-5L))

有人知道如何使用pivot_wider/pivot_longer(或任何其他函数)将扩展列作为如下表的行附加到底部吗?

输入图片此处描述

I've the following dataset

enter image description here

The code is as follows:

df = structure(list(UID = structure(1:5, .Label = c("C001", "C002", 
"C003", "C004", "C005"), class = "factor"), Shop_Code = structure(1:5, .Label = c("A", 
"B", "C", "D", "E"), class = "factor"), Shop_District_Code = structure(1:5, .Label = c("AA", 
"BB", "CC", "DD", "EE"), class = "factor"), Bread = c(5, 4.8, 
4.5, 4.2, 5), Apple = c(3, 2.8, 3.1, 3.4, 3.2), Coke = c(3, 2.6, 
2.8, 3, 3.1), Bread_1 = c(NA, NA, NA, 4.6, NA), Apple_1 = c(NA, 
NA, NA, 2.6, NA), Coke_1 = c(NA, NA, NA, 2.2, NA), Bread_2 = c(NA, 
NA, 4.6, NA, 5.1), Apple_2 = c(NA, NA, 3, NA, 3.3), Coke_2 = c(NA, 
NA, 3, NA, 3.2), Bread_3 = c(NA, NA, 4.8, NA, NA), Apple_3 = c(NA, 
NA, 2.7, NA, NA), Coke_3 = c(NA, NA, 2.6, NA, NA)), class = "data.frame", row.names = c(NA, 
-5L))

Does anybody know how I can append the extended columns to the bottom as rows like the following table using pivot_wider/pivot_longer (or any other functions)?

enter image description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

べ繥欢鉨o。 2025-01-19 01:32:07
pivot_longer(df, -(1:3), 
        names_to = '.value', 
        names_pattern = '([^_]+)', 
        values_drop_na = TRUE)

# A tibble: 9 x 6
  UID   Shop_Code Shop_District_Code Bread Apple  Coke
  <fct> <fct>     <fct>              <dbl> <dbl> <dbl>
1 C001  A         AA                   5     3     3  
2 C002  B         BB                   4.8   2.8   2.6
3 C003  C         CC                   4.5   3.1   2.8
4 C003  C         CC                   4.6   3     3  
5 C003  C         CC                   4.8   2.7   2.6
6 C004  D         DD                   4.2   3.4   3  
7 C004  D         DD                   4.6   2.6   2.2
8 C005  E         EE                   5     3.2   3.1
9 C005  E         EE                   5.1   3.3   3.2
pivot_longer(df, -(1:3), 
        names_to = '.value', 
        names_pattern = '([^_]+)', 
        values_drop_na = TRUE)

# A tibble: 9 x 6
  UID   Shop_Code Shop_District_Code Bread Apple  Coke
  <fct> <fct>     <fct>              <dbl> <dbl> <dbl>
1 C001  A         AA                   5     3     3  
2 C002  B         BB                   4.8   2.8   2.6
3 C003  C         CC                   4.5   3.1   2.8
4 C003  C         CC                   4.6   3     3  
5 C003  C         CC                   4.8   2.7   2.6
6 C004  D         DD                   4.2   3.4   3  
7 C004  D         DD                   4.6   2.6   2.2
8 C005  E         EE                   5     3.2   3.1
9 C005  E         EE                   5.1   3.3   3.2
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文