如何在 R(或 excel)中执行这种独特的重塑?

互联网 行业动态 更新时间:2024-06-13 00:19:06

Ron*_*hah 5

这是一个tidyverse尝试 -

plete创建缺少月份的行。 arrange这样您就可以按正确的顺序排列列。 使用pivot_wider.
library(dplyr)
library(tidyr)

df %>%
  plete(MONTH = tolower(month.abb)) %>%
  arrange(match(MONTH, tolower(month.abb))) %>%
  pivot_wider(names_from = MONTH, values_from = MONTH, 
              values_fn = length, values_fill = 0) %>%
  na.omit

#  NAME    AMT   jan   feb   mar   apr   may   jun   jul   aug   sep   oct   nov   dec
#  <chr> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int>
#1 brett   100     1     0     1     0     0     0     0     0     0     0     1     0
#2 sam     200     1     1     1     0     0     0     0     0     0     0     0     0
#3 brett    50     0     0     0     1     0     1     0     0     0     0     0     0
#4 jane     75     0     0     0     0     0     0     0     0     0     0     0     1

请注意,这month.abb是内置的 R 向量,它给出了缩写的月份名称。我曾经tolower(month.abb)将它与数据中的实际列名匹配。

数据

df <- structure(list(NAME = c("brett", "brett", "brett", "brett", "brett", 
"jane", "sam", "sam", "sam"), AMT = c(100L, 100L, 100L, 50L, 
50L, 75L, 200L, 200L, 200L), MONTH = c("jan", "mar", "nov", "apr", 
"jun", "dec", "jan", "feb", "mar")), 
class = "data.frame", row.names = c(NA, -9L))

更多推荐

独特,如何在,excel

本文发布于:2023-04-20 20:48:22,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/hyzx/8a79250dd2d5edf791c015614f7a7687.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:独特   如何在   excel

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!