データフレームをピボットし、rの空白セルを除外します

user2723494

dat次の形式のデータフレームがあるとします。

    property_id                      tenant count
1              1     Burlington Coat Factory     1
2              1                      Macy's     2
3              1                       Sears     3
4              1                AMC Theatres     4
5              1                 Macy's Home     5
6              2     Burlington Coat Factory     1
7              2                    JCPenney     2
8              2                  Value City     3

どうすれば次のものを生み出すことができますか?

property_id                       X1                      X2                    X3            X4            X5     
1               Burlington Coat Factory                Macy's              Sears            AMC Theatres   Macy's Home  
2               Burlington Coat Factory                JCPenney            Value City       <NA>          <NA>

溶融/再形成は、巨大でほとんどまばらなマトリックスを生成するようです。

私は非常に面倒なことに次のものを使用しましたが、それはひどいので、より良い方法については空白にしています:

df<-data.frame(matrix(NA,1167,20))
df['id']<-unique(dat$property_id)
for(i in seq(1:dim(df)[1])){
  df[i,1:length(subset(dat,dat$property_id==df[i,'id'])$tenant)]<-t(subset(dat,dat$property_id==df[i,'id'])$tenant)
}
ジュリアス・ヴァイノーラ

spread あなたが必要なものを正確に与えるようです:

library(tidyverse)
spread(dat, count, tenant)
# A tibble: 2 x 6
#   property_id `1`                     `2`      `3`        `4`          `5`        
#         <dbl> <chr>                   <chr>    <chr>      <chr>        <chr>      
# 1           1 Burlington Coat Factory Macy's   Sears      AMC Theatres Macy's Home
# 2           2 Burlington Coat Factory JCPenney Value City NA           NA         

別のオプション:

library(reshape2)
dcast(dat, property_id ~ count, value.var = "tenant")
#   property_id                       1        2          3            4           5
# 1           1 Burlington Coat Factory   Macy's      Sears AMC Theatres Macy's Home
# 2           2 Burlington Coat Factory JCPenney Value City         <NA>        <NA>

そして最後に:

reshape(dat, v.names = "tenant", idvar = "property_id", timevar = "count", direction = "wide")
#   property_id                tenant.1 tenant.2   tenant.3     tenant.4    tenant.5
# 1           1 Burlington Coat Factory   Macy's      Sears AMC Theatres Macy's Home
# 6           2 Burlington Coat Factory JCPenney Value City         <NA>        <NA>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

deedleデータフレームのピボットを解除します

分類Dev

単一セルのデータフレームをピボットする方法

分類Dev

R:1つのデータフレーム内の値のセットをループして、2番目のデータフレームを更新します

分類Dev

Rの非構造化データセットから特定のフレーズを除外し、それを新しいデータフレームに配置する方法

分類Dev

データフレームのリストをピボットしてマージします

分類Dev

データフレームを固定列数にピボットしますsparksql

分類Dev

列(ID)ごとにデータフレームをピボットします

分類Dev

Rスタジオ:データフレームを分解/ピボットして、各グループのさまざまな時間セグメントでの各変数の平均値を計算します

分類Dev

パンダ:データフレームをピボットし、追加の非数値列を保持します

分類Dev

value_counts()を使用したgroupby結果の後にデータフレームをピボットします

分類Dev

rのデータフレームサブセットのt.testsをループします

分類Dev

パンダはデータフレームピボットテーブルを変換します

分類Dev

Excel Interop C#を使用して、ピボットテーブルの(空白の)行を除外します

分類Dev

パンダのデータフレームをピボットして、マルチインデックスの列を作成します

分類Dev

ピボットを使用してデータフレームを目的の形式に並べ替えます

分類Dev

セットを含むデータフレームの列をコピーします。

分類Dev

csvからデータをピボットし、データフレームに保存します

分類Dev

Rを使用してデータフレームのサブセットをプロットしますか?

分類Dev

90パーセンタイル内の値に基づいてデータフレームを除外します

分類Dev

パンダは複数のgroupbyでデータフレームをピボットします

分類Dev

開始日と終了日のデータフレームを真理値表にピボットします

分類Dev

Pythonデータフレームで複数の列を行に変換/ピボット解除します

分類Dev

Pandasデータフレームを使用したピボットテーブル(?)

分類Dev

他のデータフレームに基づいてR日付フレームをフィルター/サブセットします

分類Dev

lapplyを使用して、単一のデータフレームをRのデータフレームのリストにサブセット化します

分類Dev

tidyr ::ピボット_longerを使用して1行のデータフレームを変換する:列のペアを取得してスタックします

分類Dev

2つのカテゴリのPandasデータフレームの値をピボットテーブルにカウントします

分類Dev

rのデータフレームからレコードのサブセットを削除します

分類Dev

$の論理ベクトルを使用してデータフレームをサブセット化します

Related 関連記事

  1. 1

    deedleデータフレームのピボットを解除します

  2. 2

    単一セルのデータフレームをピボットする方法

  3. 3

    R:1つのデータフレーム内の値のセットをループして、2番目のデータフレームを更新します

  4. 4

    Rの非構造化データセットから特定のフレーズを除外し、それを新しいデータフレームに配置する方法

  5. 5

    データフレームのリストをピボットしてマージします

  6. 6

    データフレームを固定列数にピボットしますsparksql

  7. 7

    列(ID)ごとにデータフレームをピボットします

  8. 8

    Rスタジオ:データフレームを分解/ピボットして、各グループのさまざまな時間セグメントでの各変数の平均値を計算します

  9. 9

    パンダ:データフレームをピボットし、追加の非数値列を保持します

  10. 10

    value_counts()を使用したgroupby結果の後にデータフレームをピボットします

  11. 11

    rのデータフレームサブセットのt.testsをループします

  12. 12

    パンダはデータフレームピボットテーブルを変換します

  13. 13

    Excel Interop C#を使用して、ピボットテーブルの(空白の)行を除外します

  14. 14

    パンダのデータフレームをピボットして、マルチインデックスの列を作成します

  15. 15

    ピボットを使用してデータフレームを目的の形式に並べ替えます

  16. 16

    セットを含むデータフレームの列をコピーします。

  17. 17

    csvからデータをピボットし、データフレームに保存します

  18. 18

    Rを使用してデータフレームのサブセットをプロットしますか?

  19. 19

    90パーセンタイル内の値に基づいてデータフレームを除外します

  20. 20

    パンダは複数のgroupbyでデータフレームをピボットします

  21. 21

    開始日と終了日のデータフレームを真理値表にピボットします

  22. 22

    Pythonデータフレームで複数の列を行に変換/ピボット解除します

  23. 23

    Pandasデータフレームを使用したピボットテーブル(?)

  24. 24

    他のデータフレームに基づいてR日付フレームをフィルター/サブセットします

  25. 25

    lapplyを使用して、単一のデータフレームをRのデータフレームのリストにサブセット化します

  26. 26

    tidyr ::ピボット_longerを使用して1行のデータフレームを変換する:列のペアを取得してスタックします

  27. 27

    2つのカテゴリのPandasデータフレームの値をピボットテーブルにカウントします

  28. 28

    rのデータフレームからレコードのサブセットを削除します

  29. 29

    $の論理ベクトルを使用してデータフレームをサブセット化します

ホットタグ

アーカイブ