R에서 데이터 프레임을 필터링하기 위해 REGEX를 사용하는 grepl ()과 함께 subset ()

im7

R을 배우고 데이터 프레임을 필터링하기 위해 Regex를 사용하여 하위 집합 () 및 grepl ()을 실험하고 있습니다. 재생할 매우 작은 데이터 프레임을 만들었습니다.

x   y   z   w
1   10  a   k
2   12  b   l
3   14  c   m
4   16  d   n
5   18  e   o

내 코드는 다음과 같습니다.

subset(df14, grepl('^c | [l - n]', c(df14$z , df14$w) ), grepl('[yz]', colnames(df14)) )

내 생각에 두 번째 인수는 grepl ()에서 찾은 행의 인덱스를 반환하여 이름이 'z'또는 'w'인 열의 패턴과 일치해야합니다. 그러나 이것은 일어나는 일이 아닙니다 (열 y 및 z가있는 빈 데이터 프레임을 반환 함).

열 'w'에는 [ln] 정규식 패턴에 지정된 문자 l, m, n과 z 및 w 열이 포함되어 있으므로 행 2,3,4를 반환 할 것으로 예상합니다. 이러한 이름은 다음의 정규식 [yz]와 일치하기 때문입니다. 서브 세트 ()의 세 번째 인수.

(나는 그것이 열의 내용보다는 열의 이름에서 일치하는 것을 찾고 있다고 생각합니다.

당연히 결과 자체에는 관심이 없습니다. 기능이 어떻게 작동하는지 이해하기위한 실험입니다. 그래서 제가 찾고있는 것은 대체 솔루션이 아닌 특정 코드를 수정하는 설명과 방법입니다.

귀하의 조언을 주시면 감사하겠습니다.

누구

다양한 문제가 있습니다.

한 가지 문제는 패턴에 추가 공간이 있다는 것입니다. 그것들을 삭제하거나 free-spacing modifier (?x)perl = TRUE. 어느 쪽이든 문자 클래스에서 공백을 제거해야합니다. [l-n]"m"과 일치 [l - n]하고 (?x). 자유 간격 수정 자 및 문자 클래스 내부 및 외부에 미치는 영향에 대한 자세한 내용은 여기에서 확인할 수 있습니다 .

또 다른 문제는 첫 번째 grepl에서 길이가 10 인 벡터 (문자형 벡터? 예에서 알 수 없음) 내에서 검색한다는 것입니다. 6 번째 위치의 TRUE가 5 행 data.frame에 대해 무엇을 의미합니까? 5 행 데이터 프레임의 6 행을 반환하는 것은 이치에 맞지 않습니다. 대신 "w" |또는 ( ) 열 "z"에 대해 패턴이 있는지 확인할 수 있습니다 . 열의 연결이 아니라 각 열을 살펴보십시오.

두 번째 문제는 grepl"w"가에 대한 일치가 아닙니다 [yz]. 이름에 "w"또는 "z"가 포함 된 열을 선택하려는 경우 한 가지 방법은 다음과 [wz]같습니다.

^모든 문자열에 단일 문자가 포함되어 있으므로 앵커 가 필요하지 않지만 어쨌든 그대로 두겠습니다.

subset(df14, 
       subset = grepl('^c|[l-n]', df14$z) | 
           grepl('^c|[l-n]', df14$w),
       select = grepl('[wz]', colnames(df14)))
#  z w
#2 b l
#3 c m
#4 d n

또는 free-spacing 모드 수정 자와 두 번째에 대해 다른 패턴 ( [wz]vs w|z)을 사용합니다 grepl.

subset(df14, 
       subset = grepl('(?x)^c | [l-n]', df14$z, perl = TRUE) | 
           grepl('(?x)^c | [l-n]', df14$w, perl = TRUE),
       select = grepl('w|z', colnames(df14)))
#  z w
#2 b l
#3 c m
#4 d n

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

R에서 분류를 위해 벡터 또는 데이터 프레임과 함께 ifelse ()를 사용하는 방법

분류에서Dev

pyspark 데이터 프레임에서 행을 필터링하고 결과를 포함하는 새 열 만들기

분류에서Dev

r의 함수에서 데이터 프레임을 필터링하기 위해 str_detect ()에서 쿼슈를 해제하는 방법은 무엇입니까?

분류에서Dev

Spark에서 데이터 프레임과 함께 LogisticRegressionWIthLBFGS를 사용하는 방법

분류에서Dev

MySQL 데이터베이스에서 연결하기 위해 TypeOrm과 함께 NestJS를 사용하는 문제

분류에서Dev

더 큰 데이터 프레임을 만들기 위해 pandas 데이터 프레임에 함수를 적용

분류에서Dev

필터링을 위해 Wordpress 플러그인과 함께 ajax를 사용하는 방법은 무엇입니까?

분류에서Dev

R을 사용하여 부분 일치를 위해 행 값을 데이터 프레임의 열과 비교

분류에서Dev

결과를 필터링하기 위해 Ajax를 사용하여 Controller에서 View로 데이터 전달

분류에서Dev

일부 문자열을 필터링하지만 일부는 필터링하지 않습니다! grepl과 함께

분류에서Dev

값을 반환하기 위해 데이터 프레임 열에 정규식 함수를 적용하는 방법

분류에서Dev

경로를 필터링하기 위해 find 명령과 함께 정규식을 사용하는 방법은 무엇입니까?

분류에서Dev

R에있는 다른 데이터 프레임의 필터링 정보를 사용하여 데이터 프레임의 열에서 무작위 샘플링

분류에서Dev

기존 열과 함께 수학을 사용하여 Panda 데이터 프레임에 새 값 만들기

분류에서Dev

df.groupby ()의 결과를 재사용하는 방법. NaN을 채우기 위해 다른 데이터 프레임에서 의미합니까?

분류에서Dev

Qt를 사용하여 traccar와 함께 사용하기 위해 gps 데이터를 에뮬레이션

분류에서Dev

별도의 데이터 프레임에 곱하고 R의 결과로 새 데이터 프레임을 얻는 함수를 적용하는 방법

분류에서Dev

R에서 함수를 적용하기 위해 정수 데이터 프레임을 전달할 때 변수가 변환되는 이유는 무엇입니까?

분류에서Dev

for 및 if..else 문과 함께 lapply를 사용하여 여러 데이터 프레임에 조건부 열 추가

분류에서Dev

데이터 프레임에 저장된 DNA 염기 서열과 함께 as.DNAbin {ape}를 사용하는 방법은 무엇입니까?

분류에서Dev

R 함수를 사용하여 데이터 프레임을 하위 집합하고 나중에 해당 데이터 프레임을 사용하는 방법은 무엇입니까?

분류에서Dev

R-여러 데이터 프레임 및 그래프를 생성하기 위해 인수 목록으로 데이터를 필터링하는 방법

분류에서Dev

데이터 프레임 대 배열과 함께 사용할 때 scipy griddata를 사용하는 방법

분류에서Dev

python comprehension을 사전과 함께 사용하여 Pandas 데이터 프레임에 값 할당

분류에서Dev

Spark Scala 데이터 프레임 : 함수에 대해 false를 반환하는 레코드 필터링

분류에서Dev

dplyr R에서 last_col () 함수를 사용하여 데이터 프레임 필터링

분류에서Dev

결과를 제한하기 위해 pgrep에서 필터링

분류에서Dev

Pandas에서 데이터 프레임의 값을 필터링하기위한 조회 참조로 사전 사용

분류에서Dev

하위 프레임을 만드는 데 사용 된 것과 동일한 groupby 호출을 사용하여 데이터 프레임의 하위 프레임에 groupby를 적용하는 방법

Related 관련 기사

  1. 1

    R에서 분류를 위해 벡터 또는 데이터 프레임과 함께 ifelse ()를 사용하는 방법

  2. 2

    pyspark 데이터 프레임에서 행을 필터링하고 결과를 포함하는 새 열 만들기

  3. 3

    r의 함수에서 데이터 프레임을 필터링하기 위해 str_detect ()에서 쿼슈를 해제하는 방법은 무엇입니까?

  4. 4

    Spark에서 데이터 프레임과 함께 LogisticRegressionWIthLBFGS를 사용하는 방법

  5. 5

    MySQL 데이터베이스에서 연결하기 위해 TypeOrm과 함께 NestJS를 사용하는 문제

  6. 6

    더 큰 데이터 프레임을 만들기 위해 pandas 데이터 프레임에 함수를 적용

  7. 7

    필터링을 위해 Wordpress 플러그인과 함께 ajax를 사용하는 방법은 무엇입니까?

  8. 8

    R을 사용하여 부분 일치를 위해 행 값을 데이터 프레임의 열과 비교

  9. 9

    결과를 필터링하기 위해 Ajax를 사용하여 Controller에서 View로 데이터 전달

  10. 10

    일부 문자열을 필터링하지만 일부는 필터링하지 않습니다! grepl과 함께

  11. 11

    값을 반환하기 위해 데이터 프레임 열에 정규식 함수를 적용하는 방법

  12. 12

    경로를 필터링하기 위해 find 명령과 함께 정규식을 사용하는 방법은 무엇입니까?

  13. 13

    R에있는 다른 데이터 프레임의 필터링 정보를 사용하여 데이터 프레임의 열에서 무작위 샘플링

  14. 14

    기존 열과 함께 수학을 사용하여 Panda 데이터 프레임에 새 값 만들기

  15. 15

    df.groupby ()의 결과를 재사용하는 방법. NaN을 채우기 위해 다른 데이터 프레임에서 의미합니까?

  16. 16

    Qt를 사용하여 traccar와 함께 사용하기 위해 gps 데이터를 에뮬레이션

  17. 17

    별도의 데이터 프레임에 곱하고 R의 결과로 새 데이터 프레임을 얻는 함수를 적용하는 방법

  18. 18

    R에서 함수를 적용하기 위해 정수 데이터 프레임을 전달할 때 변수가 변환되는 이유는 무엇입니까?

  19. 19

    for 및 if..else 문과 함께 lapply를 사용하여 여러 데이터 프레임에 조건부 열 추가

  20. 20

    데이터 프레임에 저장된 DNA 염기 서열과 함께 as.DNAbin {ape}를 사용하는 방법은 무엇입니까?

  21. 21

    R 함수를 사용하여 데이터 프레임을 하위 집합하고 나중에 해당 데이터 프레임을 사용하는 방법은 무엇입니까?

  22. 22

    R-여러 데이터 프레임 및 그래프를 생성하기 위해 인수 목록으로 데이터를 필터링하는 방법

  23. 23

    데이터 프레임 대 배열과 함께 사용할 때 scipy griddata를 사용하는 방법

  24. 24

    python comprehension을 사전과 함께 사용하여 Pandas 데이터 프레임에 값 할당

  25. 25

    Spark Scala 데이터 프레임 : 함수에 대해 false를 반환하는 레코드 필터링

  26. 26

    dplyr R에서 last_col () 함수를 사용하여 데이터 프레임 필터링

  27. 27

    결과를 제한하기 위해 pgrep에서 필터링

  28. 28

    Pandas에서 데이터 프레임의 값을 필터링하기위한 조회 참조로 사전 사용

  29. 29

    하위 프레임을 만드는 데 사용 된 것과 동일한 groupby 호출을 사용하여 데이터 프레임의 하위 프레임에 groupby를 적용하는 방법

뜨겁다태그

보관