簡體   English   中英

將dataframe1轉換為dataframe2,其中列的值成為新列

[英]Transforming dataframe1 to dataframe2 where the values of a column become new columns

我正在使用 R 中的數據幀,我想將表 1(image1)的格式更改為表 2(image2)。

我知道我有 50 個“城市”可能的值,從 1 到 50。我想要的是“城市”的這些值成為不同的列,因此在每個這些值下方顯示“房屋”的數量。 最后,每個國家/地區只有一行,52 列。 ('數字','國家',1,2,3...,50)。 (這是一個簡化版本,主要版本有更多的“數字”值,所以我正在尋找一種“快速”工作的解決方案,運行時間不長)

在此處輸入圖像描述

在此處輸入圖像描述

如果df是您的 dataframe 並且列是小寫的,則以下 dplyr::pivot_wider 將為您提供幫助。

library(dplyr)
df %>% 
  pivot_wider(id_cols=c(number,country),names_from=city,values_from=house)

給你這個output。

# A tibble: 3 × 7
  number country `21`  `23`  `24`  `22`  `25` 
   <int>   <int> <chr> <chr> <chr> <chr> <chr>
1   6205       2 2     a     5     NA    NA   
2   6205       3 NA    5     5     1     5    
3   6205       4 4     2     7     3     2    
> 

建議不要使用數字 dataframe 列名,因此非常適合重新查看您的命名約定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM