データフレーム配列列を複数のバイナリ列に分割します[R]

bpheazye

配列列は最新であり、他は目標です

配列列は最新であり、他は目標です

配列の列があり、それを複数のバイナリに分割したいと思います。を使用してすべての列を作成しました

dat[,unique(unlist(df$array_column))] = 0

ifelseステートメントを使用して、必要に応じて列を「1」に設定しようとしましたが、を使用%in%しても機能しませんifelseネストされたforループを作成することもできますが、数百万の行があり、それよりも高速なソリューションを探しています。

testdf = data.frame('a'=c(1,2,3,4,5),'array_column'=c('a-b-c','b-a','c-d','d-e-e','e-a'),stringsAsFactors = F)
testdf$array_column = strsplit(testdf$array_column,'-')
足りる

問題は、ベクトルのリストをどのようにバイナリ行列/data.frameに変換するかということだと思います。

これが解決策です

testdf = data.frame('a'=c(1,2,3,4,5),'array_column'=c('a-b-c','b-a','c-d','d-e-e','e-a'),stringsAsFactors = F)                     
testdf$array_column = strsplit(testdf$array_column,'-')    

library('plyr')                                                                                                

# Creates a list of data.frames with 1s for each value observed                                                                   
binary <- lapply(testdf$array_column, function(x) {                                                                                                                                                   
                     vals <- unique(x) 
                     x <- setNames(rep(1,length(vals)), vals);                                                                      
                     do.call(data.frame, as.list(x))                                                                                
                })                                                                                                                  

# Joins into single data.frame                                                                                                                
result <- do.call(rbind.fill, binary)                                                                                                
result[is.na(result)] <- 0                                                                                                          

result                                                                                                                              
#   a b c d e                                                                                                                       
# 1 1 1 1 0 0                                                                                                                       
# 2 1 1 0 0 0                                                                                                                       
# 3 0 0 1 1 0                                                                                                                       
# 4 0 0 0 1 1                                                                                                                       
# 5 1 0 0 0 1  

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

データフレーム配列列を複数のバイナリ列に分割します[R]

分類Dev

データフレーム文字列列を複数の列に分割します

分類Dev

データフレーム文字列列を複数の列に分割します

分類Dev

データフレーム文字列列を複数の列に分割します

分類Dev

Python 3 / Pandasデータフレームバイナリ値を使用して列を複数の列に分割する

分類Dev

Rデータフレームでリスト列を複数の整数列に分割します

分類Dev

リストの列を同じPySparkデータフレーム内の複数の列に分割します

分類Dev

R-1列のデータフレームを複数の列に分割します

分類Dev

文字列列のSparkデータフレームを複数のブール列に分割します

分類Dev

オプションで、sparkデータフレーム文字列列を複数の列に分割します

分類Dev

Rの複数の列にデータフレームを分割する

分類Dev

SparkデータフレームPythonでバイナリ文字列の列をintに変換します

分類Dev

pandasデータフレーム列を1つのdfで複数の列に分割します

分類Dev

データフレームの列の文字数で文字列を分割して、Rに複数の列を作成しますか?

分類Dev

Rは配列をデータフレームに分割します

分類Dev

データフレーム文字列列をパターンなしで複数の列に分割する

分類Dev

データフレームのバイナリ列からグラフを作成します-R

分類Dev

データフレームの列値を複数の列に分割する方法

分類Dev

複数のデータフレームを比較し、一致するバイナリ値で新しい列の塗りつぶしを追加します

分類Dev

Pythonは1つの列を複数の列に分割し、分割された列を元のデータフレームに再アタッチします

分類Dev

データフレーム列を複数の列に分割する

分類Dev

1つの列のデータフレームを複数の列を持つデータフレームに分割します

分類Dev

PySpark-すべてのデータフレーム列文字列を配列に分割します

分類Dev

パンダのデータフレーム列を複数に分割し、繰り返し処理します

分類Dev

rデータフレーム列の複数の文字列を別のデータフレームの列の複数の文字列に置き換えます

分類Dev

Rでデータフレームの複数の列を文字列から数値に変換します

分類Dev

2列のデータフレームを対称バイナリ行列に変換します

分類Dev

pandasデータフレームヘッダーを複数の列に分割します

分類Dev

pandasデータフレームヘッダーを複数の列に分割します

Related 関連記事

  1. 1

    データフレーム配列列を複数のバイナリ列に分割します[R]

  2. 2

    データフレーム文字列列を複数の列に分割します

  3. 3

    データフレーム文字列列を複数の列に分割します

  4. 4

    データフレーム文字列列を複数の列に分割します

  5. 5

    Python 3 / Pandasデータフレームバイナリ値を使用して列を複数の列に分割する

  6. 6

    Rデータフレームでリスト列を複数の整数列に分割します

  7. 7

    リストの列を同じPySparkデータフレーム内の複数の列に分割します

  8. 8

    R-1列のデータフレームを複数の列に分割します

  9. 9

    文字列列のSparkデータフレームを複数のブール列に分割します

  10. 10

    オプションで、sparkデータフレーム文字列列を複数の列に分割します

  11. 11

    Rの複数の列にデータフレームを分割する

  12. 12

    SparkデータフレームPythonでバイナリ文字列の列をintに変換します

  13. 13

    pandasデータフレーム列を1つのdfで複数の列に分割します

  14. 14

    データフレームの列の文字数で文字列を分割して、Rに複数の列を作成しますか?

  15. 15

    Rは配列をデータフレームに分割します

  16. 16

    データフレーム文字列列をパターンなしで複数の列に分割する

  17. 17

    データフレームのバイナリ列からグラフを作成します-R

  18. 18

    データフレームの列値を複数の列に分割する方法

  19. 19

    複数のデータフレームを比較し、一致するバイナリ値で新しい列の塗りつぶしを追加します

  20. 20

    Pythonは1つの列を複数の列に分割し、分割された列を元のデータフレームに再アタッチします

  21. 21

    データフレーム列を複数の列に分割する

  22. 22

    1つの列のデータフレームを複数の列を持つデータフレームに分割します

  23. 23

    PySpark-すべてのデータフレーム列文字列を配列に分割します

  24. 24

    パンダのデータフレーム列を複数に分割し、繰り返し処理します

  25. 25

    rデータフレーム列の複数の文字列を別のデータフレームの列の複数の文字列に置き換えます

  26. 26

    Rでデータフレームの複数の列を文字列から数値に変換します

  27. 27

    2列のデータフレームを対称バイナリ行列に変換します

  28. 28

    pandasデータフレームヘッダーを複数の列に分割します

  29. 29

    pandasデータフレームヘッダーを複数の列に分割します

ホットタグ

アーカイブ