繁体   English   中英

如何重新排列/整理 R 数据框中的列?

[英]How to rearrange/tidy column in R data frame?

假设我们有这个数据集,其中avg_1avg_2avg_3重复:

avg_1  avg_2  avg_3  party_gender
424    242    213    RM
424    242    213    RF
424    242    213    DM

如何使用 R 编辑它,以便数据集看起来像这样(其中 avg 值不重复,并且avg_1avg_2avg_3对应于RMRFDM ):

avg  party_gender
424  RM
242  RF
213  DM

诚然,这有点 hacky,如果您对 avg 有多个条件,则效果不佳。 价值:

library(tidyverse)
dat %>%
  pivot_longer(-party_gender) %>%
  filter(party_gender == "RM" & value == 424 |
         party_gender == "RF" & value == 242 |
         party_gender == "DM" & value == 213) %>%
  mutate(name = "avg") %>% 
  pivot_wider()

这使:

# A tibble: 3 x 2
  party_gender   avg
  <chr>        <dbl>
1 RM             424
2 RF             242
3 DM             213

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM