문자열에서 특정 단어 앞의 단어를 추출하는 방법은 무엇입니까?

이브

'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")

각 문자열에서 단어 앞에 나타나는 단어를 추출하고 싶습니다 work. work여러 번 나타날 수 있으며 앞의 단어를 추출하거나 매번 계산해야합니다.

결국, 나는 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)을 반복합니다 . "일"( 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

쉘에서 특정 단어 앞에 오는 문자열을 인쇄하는 방법은 무엇입니까?

분류에서Dev

mysql의 문자열에서 특정 단어를 삭제하는 방법은 무엇입니까?

분류에서Dev

bash에서 특정 단어 앞에 문자열을 인쇄하는 방법은 무엇입니까?

분류에서Dev

이전 문자열에 따라 특정 줄의 마지막 단어 앞에 문자열 NODATA를 삽입하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트에서 문자열의 특수 단어에 문자 / 단어 / 문자를 추가하는 방법은 무엇입니까?

분류에서Dev

R을 사용하여 문자열 내 특정 단어 앞뒤의 단어를 삭제하는 방법은 무엇입니까?

분류에서Dev

문자열의 각 단어를 특정 변수에 저장하는 방법은 무엇입니까?

분류에서Dev

MySQL의 문자열에서 숫자로 단어를 추출하는 방법은 무엇입니까?

분류에서Dev

Postgres의 문자열에서 특정 단어를 추출하는 방법

분류에서Dev

문자열에서 포인트 ( '.')를 포인트 앞의 단어로 바꾸는 방법은 무엇입니까?

분류에서Dev

열이 아닌 특정 위치의 단어로 줄을 추출하는 방법은 무엇입니까?

분류에서Dev

단어에서 특정 문자의 번호를 찾는 방법은 무엇입니까?

분류에서Dev

Java 배열에서 단어의 문자를 정렬하는 방법은 무엇입니까?

분류에서Dev

PHP RegEx : 문장에서 특정 단어를 추출하는 방법은 무엇입니까?

분류에서Dev

Swift 3.0의 문자열에서 단어 (영어)와 이름을 추출하는 방법은 무엇입니까?

분류에서Dev

SQL 데이터베이스의 문장에서 특정 단어를 추출하는 방법은 무엇입니까?

분류에서Dev

문자열의 단어 집합에서 단어를 찾는 가장 좋은 방법은 무엇입니까?

분류에서Dev

Python 텍스트 파일에서 특정 줄의 특정 단어를 바꾸는 방법은 무엇입니까?

분류에서Dev

특정 용어 / 단어로 배열 목록의 요소 수를 계산하는 방법은 무엇입니까?

분류에서Dev

전체 문자열에서 특정 단어를 얻는 방법은 무엇입니까?

분류에서Dev

한 단어에서 다른 단어로 문자열의 일부를 추출하는 방법은 무엇입니까?

분류에서Dev

JMeter의 정규식에서 특정 단어를 제외하는 방법은 무엇입니까?

분류에서Dev

텍스트 파일의 문자열에서 특정 단어를 삭제 / 삭제하는 방법은 무엇입니까?

분류에서Dev

특정 단어 뒤에 콘텐츠를 추출하는 방법은 무엇입니까?

분류에서Dev

Javascript에서 문자열의 두 단어마다 "\ x"를 추가하는 방법은 무엇입니까?

분류에서Dev

해당 단어의 첫 글자가 대문자 인 경우 단어 앞에 문자를 추가하는 방법은 무엇입니까?

분류에서Dev

텍스트 파일의 줄에서 특정 단어를 제거하는 방법은 무엇입니까?

분류에서Dev

텍스트에서 특정 줄의 단어를 변경하는 방법은 무엇입니까?

분류에서Dev

텍스트 파일의 줄에서 특정 단어를 제거하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    쉘에서 특정 단어 앞에 오는 문자열을 인쇄하는 방법은 무엇입니까?

  2. 2

    mysql의 문자열에서 특정 단어를 삭제하는 방법은 무엇입니까?

  3. 3

    bash에서 특정 단어 앞에 문자열을 인쇄하는 방법은 무엇입니까?

  4. 4

    이전 문자열에 따라 특정 줄의 마지막 단어 앞에 문자열 NODATA를 삽입하는 방법은 무엇입니까?

  5. 5

    자바 스크립트에서 문자열의 특수 단어에 문자 / 단어 / 문자를 추가하는 방법은 무엇입니까?

  6. 6

    R을 사용하여 문자열 내 특정 단어 앞뒤의 단어를 삭제하는 방법은 무엇입니까?

  7. 7

    문자열의 각 단어를 특정 변수에 저장하는 방법은 무엇입니까?

  8. 8

    MySQL의 문자열에서 숫자로 단어를 추출하는 방법은 무엇입니까?

  9. 9

    Postgres의 문자열에서 특정 단어를 추출하는 방법

  10. 10

    문자열에서 포인트 ( '.')를 포인트 앞의 단어로 바꾸는 방법은 무엇입니까?

  11. 11

    열이 아닌 특정 위치의 단어로 줄을 추출하는 방법은 무엇입니까?

  12. 12

    단어에서 특정 문자의 번호를 찾는 방법은 무엇입니까?

  13. 13

    Java 배열에서 단어의 문자를 정렬하는 방법은 무엇입니까?

  14. 14

    PHP RegEx : 문장에서 특정 단어를 추출하는 방법은 무엇입니까?

  15. 15

    Swift 3.0의 문자열에서 단어 (영어)와 이름을 추출하는 방법은 무엇입니까?

  16. 16

    SQL 데이터베이스의 문장에서 특정 단어를 추출하는 방법은 무엇입니까?

  17. 17

    문자열의 단어 집합에서 단어를 찾는 가장 좋은 방법은 무엇입니까?

  18. 18

    Python 텍스트 파일에서 특정 줄의 특정 단어를 바꾸는 방법은 무엇입니까?

  19. 19

    특정 용어 / 단어로 배열 목록의 요소 수를 계산하는 방법은 무엇입니까?

  20. 20

    전체 문자열에서 특정 단어를 얻는 방법은 무엇입니까?

  21. 21

    한 단어에서 다른 단어로 문자열의 일부를 추출하는 방법은 무엇입니까?

  22. 22

    JMeter의 정규식에서 특정 단어를 제외하는 방법은 무엇입니까?

  23. 23

    텍스트 파일의 문자열에서 특정 단어를 삭제 / 삭제하는 방법은 무엇입니까?

  24. 24

    특정 단어 뒤에 콘텐츠를 추출하는 방법은 무엇입니까?

  25. 25

    Javascript에서 문자열의 두 단어마다 "\ x"를 추가하는 방법은 무엇입니까?

  26. 26

    해당 단어의 첫 글자가 대문자 인 경우 단어 앞에 문자를 추가하는 방법은 무엇입니까?

  27. 27

    텍스트 파일의 줄에서 특정 단어를 제거하는 방법은 무엇입니까?

  28. 28

    텍스트에서 특정 줄의 단어를 변경하는 방법은 무엇입니까?

  29. 29

    텍스트 파일의 줄에서 특정 단어를 제거하는 방법은 무엇입니까?

뜨겁다태그

보관