여러 구분 기호로 정의 된 문자열 부분을 R에서 여러 변수로 분할

JMDR

R을 사용하여 정보를 추출하는 데 필요한 많은 파일 이름 목록이 있습니다. 정보는 여러 개의 대시와 밑줄로 구분됩니다. 구분 기호 사이의 문자 수가 일치하지 않는다는 사실을 수용 할 수있는 방법을 찾는 데 어려움이 있습니다 (구분 기호가 사용되는 것처럼 정보의 순서는 일정하게 유지됩니다).

예를 들면 :

 f <- data.frame(c("EI-SM4-AMW11_20160614_082800.wav", "PA-RF-A50_20160614_082800.wav"), stringsAsFactors = FALSE)
 colnames(f)<-"filename"
 f$area <- str_sub(f$filename, 1, 2)
 f$rec <- str_sub(f$filename, 4, 6)
 f$site <- str_sub(f$filename, 8, 12)

이로 인해 첫 번째 파일에는 올바른 결과가 생성되지만 두 번째 파일에는 잘못된 결과가 생성됩니다.

"stringr"및 "stringi"패키지를 사용해 보았고 값을 하드 코딩하는 것이 작동하지 않는다는 것을 알고 있으므로 다음과 같은 두 패키지를 사용하여 어색한 솔루션을 찾았습니다.

f$site <- str_sub(f$filename, 
                  stri_locate_last(f$filename, fixed="-")[,1]+1, 
                  stri_locate_first(f$filename, fixed="_")[,1]-1)

좀 더 우아하고 강력한 방법이 있어야한다고 생각합니다. 아마도 정규식을 포함하는 것 같습니다.

나는 다른 예를 살펴 보았다 ( R의 첫 번째 세미콜론까지 문자열의 추출 부분 () , R : 마지막 문자열에서 점 찾기 , 정규식을 사용하여 분할 문자열과 데이터 프레임으로 저장 ).

모든 제안 / 포인터는 대단히 감사하겠습니다.

로열 TS

`tidyr '패키지에서 이것을 시도하십시오 :

library(tidyr)

f %>% separate(filename, c('area', 'rec', 'site'), sep = '-')

다음과 같이 여러 구분 구분자로 나눌 수도 있습니다.

f %>% separate(filename, c('area', 'rec', 'site', 'date', 'don_know_what_this_is', 'file_extension'), sep = '-|_|\\.')

그런 다음 dplyrselect함수를 사용하여 원하는 열만 유지하십시오 .

 library(dplyr)
 library(tidyr)

 f %>% 
   separate(filename,
            c('area', 'rec', 'site', 'date',
              'don_know_what_this_is', 'file_extension'), 
            sep = '-|_|\\.') %>%
   select(area, rec, site)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Bash에서 여러 문자 구분 기호로 분할 된 문자열의 특정 부분 제거

분류에서Dev

Bash에서 여러 구분 기호로 문자열 분할

분류에서Dev

Python Pandas : 두 개 이상의 열에서 슬래시로 구분 된 문자열을 여러 행으로 분할

분류에서Dev

jquery에서 여러 구분 기호로 문자열을 분할하는 방법

분류에서Dev

Python에서 여러 구분 문자로 하나의 열을 두 개로 분할

분류에서Dev

PHP에서 여러 (더 구체적인) 구분 기호로 문자열 분할

분류에서Dev

여러 구분 기호로 문자열을 분할하고 일부 구분 기호는 유지하면서 다른 구분 기호는 버립니다.

분류에서Dev

여러 구분 기호로 분할 된 정규식

분류에서Dev

Pandas에서 여러 구분 기호로 하나의 열을 여러 열로 분할

분류에서Dev

구분 기호로 여러 열을 분할하고 r에서 일관된 열 이름을 갖습니다.

분류에서Dev

SQL Server의 IN 절에 대해 단일 쉼표로 구분 된 문자열을 여러 문자열로 구분

분류에서Dev

파이썬에서 여러 구분 기호로 문자열 분할

분류에서Dev

여러 구분 기호로 여러 열을 분할합니다. 새로 형성된 열에는 원래 값의 개수가 있어야합니다.

분류에서Dev

여러 구분 기호로 문자열 분할, 반복 구분 기호 무시

분류에서Dev

여러 구분 기호로 문자열 분할

분류에서Dev

한 번만 여러 구분 기호로 문자열 분할

분류에서Dev

여러 구분 기호로 파이썬 문자열 분할

분류에서Dev

변수에서 공백으로 구분 된 여러 값에 문자열 추가

분류에서Dev

문자열을 이전에 분할하는 정규식, 여러 구분 기호

분류에서Dev

","로 구분 된 텍스트 열에서 MySQL의 여러 문자열 검색

분류에서Dev

여러 구분 기호가있는 문자열 열을 배열로 분할

분류에서Dev

다른 구분 기호를 사용하여 SQL에서 한 열의 값을 여러 열로 분할

분류에서Dev

R에서 문자열 열을 여러 새 열로 분할

분류에서Dev

문자열을 여러 열로 분할 (특정 순서 사용)

분류에서Dev

여러 구분 기호와 정수로 문자열을 분할하려면 어떻게해야합니까?

분류에서Dev

여러 문자열 구분 기호로 문자열 분리

분류에서Dev

하나의 긴 문자열을 최대 len으로 짧은 문자열에서 여러 구분 기호로 분할

분류에서Dev

구분 기호 저장을 사용하여 여러 구분 기호로 문자열 분할

분류에서Dev

여러 구분자로 문자열을 분할하는 방법

Related 관련 기사

  1. 1

    Bash에서 여러 문자 구분 기호로 분할 된 문자열의 특정 부분 제거

  2. 2

    Bash에서 여러 구분 기호로 문자열 분할

  3. 3

    Python Pandas : 두 개 이상의 열에서 슬래시로 구분 된 문자열을 여러 행으로 분할

  4. 4

    jquery에서 여러 구분 기호로 문자열을 분할하는 방법

  5. 5

    Python에서 여러 구분 문자로 하나의 열을 두 개로 분할

  6. 6

    PHP에서 여러 (더 구체적인) 구분 기호로 문자열 분할

  7. 7

    여러 구분 기호로 문자열을 분할하고 일부 구분 기호는 유지하면서 다른 구분 기호는 버립니다.

  8. 8

    여러 구분 기호로 분할 된 정규식

  9. 9

    Pandas에서 여러 구분 기호로 하나의 열을 여러 열로 분할

  10. 10

    구분 기호로 여러 열을 분할하고 r에서 일관된 열 이름을 갖습니다.

  11. 11

    SQL Server의 IN 절에 대해 단일 쉼표로 구분 된 문자열을 여러 문자열로 구분

  12. 12

    파이썬에서 여러 구분 기호로 문자열 분할

  13. 13

    여러 구분 기호로 여러 열을 분할합니다. 새로 형성된 열에는 원래 값의 개수가 있어야합니다.

  14. 14

    여러 구분 기호로 문자열 분할, 반복 구분 기호 무시

  15. 15

    여러 구분 기호로 문자열 분할

  16. 16

    한 번만 여러 구분 기호로 문자열 분할

  17. 17

    여러 구분 기호로 파이썬 문자열 분할

  18. 18

    변수에서 공백으로 구분 된 여러 값에 문자열 추가

  19. 19

    문자열을 이전에 분할하는 정규식, 여러 구분 기호

  20. 20

    ","로 구분 된 텍스트 열에서 MySQL의 여러 문자열 검색

  21. 21

    여러 구분 기호가있는 문자열 열을 배열로 분할

  22. 22

    다른 구분 기호를 사용하여 SQL에서 한 열의 값을 여러 열로 분할

  23. 23

    R에서 문자열 열을 여러 새 열로 분할

  24. 24

    문자열을 여러 열로 분할 (특정 순서 사용)

  25. 25

    여러 구분 기호와 정수로 문자열을 분할하려면 어떻게해야합니까?

  26. 26

    여러 문자열 구분 기호로 문자열 분리

  27. 27

    하나의 긴 문자열을 최대 len으로 짧은 문자열에서 여러 구분 기호로 분할

  28. 28

    구분 기호 저장을 사용하여 여러 구분 기호로 문자열 분할

  29. 29

    여러 구분자로 문자열을 분할하는 방법

뜨겁다태그

보관