簡體   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