文字列内の特定の単語の前にある単語を抽出するにはどうすればよいですか?

イヴ

'leg_activity'列の各行がコンマ区切りの単語の文字列であるデータフレームがあります。

structure(list(id = c("100", "100060", "100073", "100098", "100102", 
"100104", "100125", "100128", "100149", "100217", "100220", "100271", 
"100464", "100465", "100520", "100607", "100653", "100745", "100757", 
"100760"), leg_activity = c("home", "home, car, work, car, leisure, car, other, car, leisure, car, work, car, shop, car, home", 
"home, walk, leisure, walk, leisure, walk, home", "home, car, other, car, shop, car, other, car, home", 
"home, car, work, car, home, car, home", "home", "home, walk, education, walk, home", 
"home, car, other, car, work, car, shop, car, shop, car, home", 
"home, car, shop, car, work, car, home", "home, bike, leisure, bike, home", 
"home, walk, shop, walk, home", "home, pt, leisure, car, leisure, pt, home", 
"home, car, education, car, home", "home, car, leisure, car, home", 
"home, walk, home, walk, shop, walk, home", "home, pt, work, walk, leisure, walk, work, pt, home", 
"home, pt, leisure, walk, leisure, walk, home", "home, walk, home, bike, shop, bike, home", 
"home, pt, work, pt, home, walk, work, walk, home", "home")), row.names = c(2L, 
15L, 20L, 24L, 31L, 33L, 40L, 43L, 48L, 70L, 73L, 93L, 147L, 
148L, 156L, 174L, 188L, 213L, 214L, 220L), class = "data.frame")

各文字列で、単語の前に表示される単語を抽出しますworkwork複数回出現する可能性があり、前の単語を毎回抽出またはカウントする必要があります。

最終的にworkは、df全体でどの単語が前に出現するかを数えることに興味があります

私が試したこと:

library(dplyr)
library(stringr)

df%>%
  separate_rows(leg_activity, sep = "work, ") %>%
  group_by(id) %>%
  mutate(n = row_number()) %>%
  pivot_wider(names_from = n, values_from = leg_activity) 

明らかに、これは結果につながるのではなく、dfを列に分割するだけです。したがって、おそらく別のアプローチがより適切です。

ご助力ありがとうございます!

ヘンリック

まず、コードの結果を追跡しやすくするために、少し小さいデータセットを使用します。

d = data.frame(id = 1:3, leg = c("home",
                                 "work, R, eat, work",
                                 "eat, work, R, work"), stringsAsFactors = FALSE) 

の文字列(strsplit)を分割します", "結果のリストをループします(lapply)。「work」(which(x == "work"))のインデックスを取得し、前のインデックス(-1)を取得します。pmax「work」が最初の単語である場合、空のベクトルを取得するために使用します。単語にインデックスを付けます(x[<the-index>])。アイテムのリストを解除してカウントします(table(unlist(...)。

table(unlist(lapply(strsplit(d$leg, ", "), function(x) x[pmax(0, which(x == "work") - 1)])))
# eat   R 
#   2   1 

最終的には、df全体で作業する前にどの単語が出現するかを数えることに興味があります。」を考えると、グループ化は不要のようです。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Rを使用して、文字列内の特定の単語の前後の単語を削除するにはどうすればよいですか?

分類Dev

文字列の前に単語を抽出するにはどうすればよいですか?

分類Dev

文字列内の特定の単語の大文字を除外するにはどうすればよいですか?

分類Dev

文字列内の単語(単語のみ)を検索するにはどうすればよいですか?

分類Dev

文字列の一部をある単語から別の単語に抽出するにはどうすればよいですか?

分類Dev

Rの文字列から最初の2単語を抽出するにはどうすればよいですか?

分類Dev

前の文字列に応じて、特定の行の最後の単語の前に文字列NODATAを挿入するにはどうすればよいですか?

分類Dev

シェルで特定の単語の前にある文字列を印刷するにはどうすればよいですか?

分類Dev

単語の最初の文字に加えて、文字列内の2文字の単語を大文字にするにはどうすればよいですか?

分類Dev

VBA(Excel)で文字列から最初の単語を抽出するにはどうすればよいですか?

分類Dev

文字列内の各単語の最初の文字を取得するにはどうすればよいですか?

分類Dev

MySQLの文字列から数字を含む単語を抽出するにはどうすればよいですか?

分類Dev

文字列から最後の4単語を抽出するにはどうすればよいですか?

分類Dev

特定の単語から文字列の一部を削除するにはどうすればよいですか?

分類Dev

文字列の先頭から特定の単語を削除するにはどうすればよいですか?

分類Dev

PHPで特定の文字列の単語を削除するにはどうすればよいですか?

分類Dev

単語のリストから最初の単語を抽出するにはどうすればよいですか?

分類Dev

CSV(Python)で文字列から特定の単語を削除するにはどうすればよいですか?

分類Dev

単語が文字列の最後の単語であるかどうかを確認するにはどうすればよいですか?

分類Dev

ArrayList内の単語がファイル内の名前の部分文字列であるかどうかを確認し、その単語のカウントをインクリメントするにはどうすればよいですか?

分類Dev

文字列から特定の単語を取得するにはどうすればよいですか?

分類Dev

javascriptの文字列内の特別な単語に文字/単語/文字を追加するにはどうすればよいですか?

分類Dev

文字列全体で特定の単語を取得するにはどうすればよいですか?

分類Dev

PHPで文字列に特定の中国語の単語が含まれているかどうかを確認するにはどうすればよいですか?

分類Dev

jqueryを使用して文字列内の単語を検索するにはどうすればよいですか?

分類Dev

文字列内の単語の位置を切り替えるにはどうすればよいですか?

分類Dev

文字列内の特定の単語の後にOracleSQLで部分文字列を選択するにはどうすればよいですか?

分類Dev

Python-文字列内の単語を強調表示するにはどうすればよいですか?

分類Dev

文字列内の単語ペアを確認するにはどうすればよいですか?

Related 関連記事

  1. 1

    Rを使用して、文字列内の特定の単語の前後の単語を削除するにはどうすればよいですか?

  2. 2

    文字列の前に単語を抽出するにはどうすればよいですか?

  3. 3

    文字列内の特定の単語の大文字を除外するにはどうすればよいですか?

  4. 4

    文字列内の単語(単語のみ)を検索するにはどうすればよいですか?

  5. 5

    文字列の一部をある単語から別の単語に抽出するにはどうすればよいですか?

  6. 6

    Rの文字列から最初の2単語を抽出するにはどうすればよいですか?

  7. 7

    前の文字列に応じて、特定の行の最後の単語の前に文字列NODATAを挿入するにはどうすればよいですか?

  8. 8

    シェルで特定の単語の前にある文字列を印刷するにはどうすればよいですか?

  9. 9

    単語の最初の文字に加えて、文字列内の2文字の単語を大文字にするにはどうすればよいですか?

  10. 10

    VBA(Excel)で文字列から最初の単語を抽出するにはどうすればよいですか?

  11. 11

    文字列内の各単語の最初の文字を取得するにはどうすればよいですか?

  12. 12

    MySQLの文字列から数字を含む単語を抽出するにはどうすればよいですか?

  13. 13

    文字列から最後の4単語を抽出するにはどうすればよいですか?

  14. 14

    特定の単語から文字列の一部を削除するにはどうすればよいですか?

  15. 15

    文字列の先頭から特定の単語を削除するにはどうすればよいですか?

  16. 16

    PHPで特定の文字列の単語を削除するにはどうすればよいですか?

  17. 17

    単語のリストから最初の単語を抽出するにはどうすればよいですか?

  18. 18

    CSV(Python)で文字列から特定の単語を削除するにはどうすればよいですか?

  19. 19

    単語が文字列の最後の単語であるかどうかを確認するにはどうすればよいですか?

  20. 20

    ArrayList内の単語がファイル内の名前の部分文字列であるかどうかを確認し、その単語のカウントをインクリメントするにはどうすればよいですか?

  21. 21

    文字列から特定の単語を取得するにはどうすればよいですか?

  22. 22

    javascriptの文字列内の特別な単語に文字/単語/文字を追加するにはどうすればよいですか?

  23. 23

    文字列全体で特定の単語を取得するにはどうすればよいですか?

  24. 24

    PHPで文字列に特定の中国語の単語が含まれているかどうかを確認するにはどうすればよいですか?

  25. 25

    jqueryを使用して文字列内の単語を検索するにはどうすればよいですか?

  26. 26

    文字列内の単語の位置を切り替えるにはどうすればよいですか?

  27. 27

    文字列内の特定の単語の後にOracleSQLで部分文字列を選択するにはどうすればよいですか?

  28. 28

    Python-文字列内の単語を強調表示するにはどうすればよいですか?

  29. 29

    文字列内の単語ペアを確認するにはどうすればよいですか?

ホットタグ

アーカイブ