データフレームの列の文字変数の名前を変更する-R

マルセル

ProjectSubjectという列を含むデータフレームがあります。データフレームの長さは約1,000,000行です。

ProjectSubject列内には、さまざまな文字列がたくさんあります。次に例を示します。

>unique(unlist(projectdf$ProjectSubject))

[1] "Applied Learning"                           "Applied Learning, Literacy 
& Language"     
[3] "Literacy & Language"                        "Special Needs"                             
[5] "Literacy & Language, History & Civics"      "Math & Science"                            
[7] "History & Civics, Math & Science"           "Literacy & Language, 
Special Needs"        
[9] "Applied Learning, Special Needs"            "Health & Sports, Special 
Needs"            
[11] "Math & Science, Literacy & Language"        "Literacy & Language, Math 
& Science"       
[13] "Literacy & Language, Music & The Arts"      "Math & Science, Special 
Needs"             
[15] "Health & Sports"                            "Music & The Arts"                          
[17] "Math & Science, Applied Learning"           "Literacy & Language, 
Applied Learning"     
[19] "Applied Learning, Music & The Arts"         "History & Civics, 
Literacy & Language"     
[21] "Applied Learning, Math & Science"           "Health & Sports, Math & 
Science"           
[23] "Applied Learning, Health & Sports"          "History & Civics"                          
[25] "History & Civics, Music & The Arts"         "Math & Science, History & 
Civics"          
[27] "Math & Science, Music & The Arts"           "Special Needs, Music & 
The Arts"           
[29] "History & Civics, Applied Learning"         "History & Civics, Special 
Needs"           

データフレームの列全体を調べて、これらの文字列の束を別の文字列に置き換えるには、簡潔で非手動の方法が必要です。たとえば、「応用学習、特別支援」を「特別支援」に置き換えたり、同様に「応用学習、数学、科学」を「数学」に置き換えたいと考えています。

上記のサンプルコードによく似た約50の一意の文字列があり、約10の一意の文字列に減らしたいと思います。できれば、50個の文字列のそれぞれにコード行を手動で入力せずにこれを行う必要がない方法があります。

レフト

これが私がいいと思う方法です:

# first create some fake data that approximates your situation
set.seed(6933)

fruit_words <- c("apple", "orange", "banana", "pappels", "orong", "bernaner")

dat <- data.frame(fruit = sample(fruit_words, size=10, replace=TRUE), 
                  stringsAsFactors=FALSE)

の各一意の値をdat$fruit、代わり使用する目的のカテゴリ/文字列に関連付けるテーブルを作成します

fruit_lkup <- c(apple="appl", orange="orng", banana="bnna", 
                pappels="appl", orong="orng", bernaner="bnna")

次にdat$fruit、の名前保持している事実を悪用しますfruit_lkup

dat$fruit_clean <- as.character(fruit_lkup[dat$fruit])

そして、これが結果です:

print(dat)
##       fruit   fruit_clean
## 1   pappels        appl
## 2     orong        orng
## 3     apple        appl
## 4    banana        bnna
## 5     apple        appl
## 6  bernaner        bnna
## 7  bernaner        bnna
## 8   pappels        appl
## 9  bernaner        bnna
## 10 bernaner        bnna

したがって、実際には、ほとんどの作業は、値の検索に使用するオブジェクトの作成にあります- fruit_lkup

開始する1つの方法は、を使用しdput(unique(dat$fruit))、それをスクリプトに貼り付けて、置換する値の指定を開始することです。

一意の値が多すぎる場合は、一意の値をcsvに書き込んでから、置き換えたい値を手動で追加することもできます。次に、データフレーム(言うように(今)2列のCSVで読むことができるlookup_df)、および作成fruit_lkupfruit_lkup <- setNames(lookup_df$new_values, lookup_df$old_values)

このアプローチは、基本的にあなたが説明する状況で、何度も非常に便利であることがわかりました。

これがお役に立てば幸いです~~

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

データフレームの列の文字変数の名前を変更する-R

分類Dev

データフレームの列の名前を変更するために使用されるR関数

分類Dev

Rのデータフレーム内の複数のセルの名前を一度に変更する

分類Dev

Rのデータフレーム内の特定の列の名前を変更する

分類Dev

R - ネストされたループを使用して、複数のデータフレーム内の複数の列の名前を変更する

分類Dev

R:2番目のデータフレームのデータの関数で列の名前を変更します(非ブラインドデータ)

分類Dev

Rリストに基づいてデータフレーム列の名前を変更する

分類Dev

Rデータフレームのフィールドの名前を変更するためのループ

分類Dev

Rで同時にリストに格納されたデータフレームの複数の列の名前を変更する

分類Dev

複数のデータセットの列の名前を変更するR

分類Dev

データフレームに名前を追加し、Rの特定のセルを変更する方法

分類Dev

rの行ごとにデータフレームの順序と名前を変更する

分類Dev

R:write.dbf()はデータフレーム列の名前を変更します

分類Dev

値の文字列抽出に基づいて、Rデータフレームの列名の名前を変更します

分類Dev

Rのグローバル環境の値を使用して、データフレームの列の名前を変更する

分類Dev

前の列と比較してデータフレーム列の値を変更するR

分類Dev

Rのデータフレームで繰り返される列の分割と名前の変更

分類Dev

多くのデータフレーム列の名前をRの特定の形式に効率的に変更する方法

分類Dev

Rで動的な方法で多くのデータフレームの多くの列の名前を変更する

分類Dev

Rのリストの名前に基づいて、データフレームの列の名前を変更します

分類Dev

データフレームを、Rの列の名前を持つデータフレームの名前付きリストに変換します

分類Dev

Rデータフレームで文字列を数値に変更する

分類Dev

Rでデータフレームの形状を変更する

分類Dev

rデータフレームの構造を変更する

分類Dev

R の複数のデータ フレームで変数に名前を付ける

分類Dev

rのfor()ループでデータフレームを転置して名前を変更します

分類Dev

Rでデータフレームの列を動的に変更する方法

分類Dev

Rのパターンで列の名前を変更する

分類Dev

文字列のリストを使用してRのデータフレーム変数にアクセスする

Related 関連記事

  1. 1

    データフレームの列の文字変数の名前を変更する-R

  2. 2

    データフレームの列の名前を変更するために使用されるR関数

  3. 3

    Rのデータフレーム内の複数のセルの名前を一度に変更する

  4. 4

    Rのデータフレーム内の特定の列の名前を変更する

  5. 5

    R - ネストされたループを使用して、複数のデータフレーム内の複数の列の名前を変更する

  6. 6

    R:2番目のデータフレームのデータの関数で列の名前を変更します(非ブラインドデータ)

  7. 7

    Rリストに基づいてデータフレーム列の名前を変更する

  8. 8

    Rデータフレームのフィールドの名前を変更するためのループ

  9. 9

    Rで同時にリストに格納されたデータフレームの複数の列の名前を変更する

  10. 10

    複数のデータセットの列の名前を変更するR

  11. 11

    データフレームに名前を追加し、Rの特定のセルを変更する方法

  12. 12

    rの行ごとにデータフレームの順序と名前を変更する

  13. 13

    R:write.dbf()はデータフレーム列の名前を変更します

  14. 14

    値の文字列抽出に基づいて、Rデータフレームの列名の名前を変更します

  15. 15

    Rのグローバル環境の値を使用して、データフレームの列の名前を変更する

  16. 16

    前の列と比較してデータフレーム列の値を変更するR

  17. 17

    Rのデータフレームで繰り返される列の分割と名前の変更

  18. 18

    多くのデータフレーム列の名前をRの特定の形式に効率的に変更する方法

  19. 19

    Rで動的な方法で多くのデータフレームの多くの列の名前を変更する

  20. 20

    Rのリストの名前に基づいて、データフレームの列の名前を変更します

  21. 21

    データフレームを、Rの列の名前を持つデータフレームの名前付きリストに変換します

  22. 22

    Rデータフレームで文字列を数値に変更する

  23. 23

    Rでデータフレームの形状を変更する

  24. 24

    rデータフレームの構造を変更する

  25. 25

    R の複数のデータ フレームで変数に名前を付ける

  26. 26

    rのfor()ループでデータフレームを転置して名前を変更します

  27. 27

    Rでデータフレームの列を動的に変更する方法

  28. 28

    Rのパターンで列の名前を変更する

  29. 29

    文字列のリストを使用してRのデータフレーム変数にアクセスする

ホットタグ

アーカイブ