데이터의 열 (첫 번째 열 제외)에 문자열이 나타나는지 확인합니다.

LucasMation

m 개의 문자열 열이있는 data.table, DT를 기반으로 문자열이있는 행에 플래그를 지정할 수 있습니다 (예 : "BlaBla"가 하나 이상의 열에 표시되는 경우)?

내가 원하는 것은 :

DT[, flag_BlaBLa:=(test if "BlaBLa" appears in any column except the first one)]

열 이름을 명시 적으로 참조하고 싶지 않습니다. 오히려 col 2를 DT의 최대 col 번호 (아마도 2:ncol(DT)) 로 참조해야합니다 . 왜 안돼? 실제로는 각기 다른 수의 열이있는 data.frames 목록이 있습니다. 위에 표시된대로 목록의 모든 data.frame에 대해 플래그를 만들어야합니다.

Edit1 : 재현 가능한 예제 추가. Edit2 : 일부 'BlaBLa'문자열을 'BlaBLa + something'으로 변경합니다. 또한 'BlaBLa'를 포함하므로 일치하는 것으로 간주되어야합니다.

DT는 cols로 시작 a,b,c하고 스크립트로 flag_BlaBLa. 최종 결과는 다음과 같습니다.

DT <- data.table(a=c("x","y","z",'w'),
                 b=c('BlaBLa','BLe','Bli','BlaBLaSometing'), 
                 c=c('Bla','BLe','BlaBLa','Blo'), 
                 flag_BlaBLa=c(T,F,T,T)
                 )

목록의 경우 최종 결과는 다음과 같아야합니다.

DT1 <- data.table(a=c("x","y","z",'w'),
                 b=c('BlaBLa','BLe','Bli','BlaBLaSomething'), 
                 c=c('Bla','BLe','BlaBLa','Blo'), 
                 flag_BlaBLa=c(T,F,T,T)
                 )

DT2 <- data.table(a=c("q","j","p"),
                 b=c('BLe','Bli','BlaBLa'), 
                 flag_BlaBLa=c(F,F,T)
                 )
l <- list(DT1,DT2)
로낙 샤

목록을 반복하고 열을 선택하고 행에 "BlaBLa"가 하나 이상 있는지 확인하고 TRUE/ 행을 표시 할 수 FALSE있습니다.

library(data.table)
lapply(l, function(x) x[, flag_BlaBLa := rowSums(x[,2:ncol(x)] == "BlaBLa") > 0])


l
#[[1]]
#   a      b      c flag_BlaBLa
#1: x BlaBLa    Bla        TRUE
#2: y    BLe    BLe       FALSE
#3: z    Bli BlaBLa        TRUE
#4: w BlaBLa    Blo        TRUE

#[[2]]
#   a      b flag_BlaBLa
#1: q    BLe       FALSE
#2: j    Bli       FALSE
#3: p BlaBLa        TRUE

편집하다

정확히 일치하지 않고 해당 문자열의 패턴을 찾아야하는 경우 열을 반복해야합니다 (@MichaelChirico와 유사). rowSums

lapply(l, function(x) x[, flag_BlaBLa := rowSums(sapply(x[, 2:ncol(x)],
                      grepl, pattern = 'BlaBLa', fixed = TRUE)) > 0])


#[[1]]
#   a               b      c flag_BlaBLa
#1: x          BlaBLa    Bla        TRUE
#2: y             BLe    BLe       FALSE
#3: z             Bli BlaBLa        TRUE
#4: w BlaBLaSomething    Blo        TRUE

#[[2]]
#   a      b flag_BlaBLa
#1: q    BLe       FALSE
#2: j    Bli       FALSE
#3: p BlaBLa        TRUE

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

문자열에 하위 문자열이 몇 번 나타나는지 확인

분류에서Dev

두 문자열을 취하고 첫 번째 문자열이 두 번째 문자열 내에서 하위 문자열로 발생하는지 여부를 나타내는 부울을 반환하는 정적 메서드를 작성합니다.

분류에서Dev

두 파일의 첫 번째 열 비교 : 두 번째에는 2 개의 열이 있지만 첫 번째에는 하나의 열이 있습니다.

분류에서Dev

Regex는 문자열 C #의 첫 번째 문자 만 확인합니다.

분류에서Dev

두 번째 문자열 PHP에서 첫 번째 문자열의 문자를 확인할 때 출력이 일치하지 않습니다.

분류에서Dev

데이터 프레임의 이전 행에있는 경우 행에서 하위 문자열의 첫 번째 인스턴스를 제거합니다.

분류에서Dev

모든 문자가 문자열에 한 번 이상 나타나는지 확인

분류에서Dev

Python : 첫 번째 행에 저장 한 마지막 값을 제외하고 데이터 프레임의 열에서 모든 데이터를 제거합니다.

분류에서Dev

목록 상자에 문자열이 몇 번 나타나는지 확인

분류에서Dev

문자열 데이터 프레임 열에서 n 첫 번째 이후의 모든 문자를 제거하는 방법은 무엇입니까?

분류에서Dev

Typescript는 문자열 배열의 첫 번째 항목이 문자열임을 이해하지 못합니다.

분류에서Dev

첫 번째 열의 특정 문자열과 일치하는 외부 파일을 읽고 PHP에서 두 번째 열의 각 문자열을 반환합니다.

분류에서Dev

java for loop 첫 번째 문자열의 첫 번째 문자 다음 두 번째 문자열의 마지막 문자

분류에서Dev

열의 첫 번째 값을 나머지 열에 더하거나 뺍니다 (MATLAB).

분류에서Dev

파이썬의 문자열에서 첫 번째 숫자가 나타날 때까지 정규식 일치

분류에서Dev

Python 데이터 프레임 열의 첫 번째 문자가 숫자인지 확인하는 방법

분류에서Dev

모든 문자열의 첫 번째 문자가 문자열 배열에서 동일하거나 없는지 확인

분류에서Dev

다른 목록에 나열하지만 첫 번째 목록의 요소가 두 번째 목록에 차례로 나타날 필요는 없습니다.

분류에서Dev

Grails는 문자열의 첫 번째 문자를 제거합니다.

분류에서Dev

문자에 추가되는 첫 번째 문자열 제외

분류에서Dev

첫 번째 열과 두 번째 열의 차이에 따라 데이터 프레임의 세 번째 열에서 값을 얻는 방법은 무엇입니까?

분류에서Dev

문자열의 첫 번째 숫자 앞에 나오는 모든 문자를 반환합니다.

분류에서Dev

Rails는 데이터베이스에서 문자열의 첫 번째 부분과 두 번째 부분을 어떻게 검색합니까?

분류에서Dev

Seconde 수준에서 다중 인덱스 데이터 프레임의 첫 번째 열을 삭제하는 방법 일부 열 제외

분류에서Dev

내 데이터가 모두 데이터 프레임의 첫 번째 열에 있고 나머지는 NaN 인 이유를 아십니까?

분류에서Dev

옥타브의 문자열에서 첫 번째 문자 제거

분류에서Dev

첫 번째 열을 제외한 Pig에서 데이터 추출

분류에서Dev

R에서 조건이있는 문자열의 첫 번째 문자 제거

분류에서Dev

면접 테스트-문자열에 나타날 두 문자 중 첫 번째 문자의 색인 찾기

Related 관련 기사

  1. 1

    문자열에 하위 문자열이 몇 번 나타나는지 확인

  2. 2

    두 문자열을 취하고 첫 번째 문자열이 두 번째 문자열 내에서 하위 문자열로 발생하는지 여부를 나타내는 부울을 반환하는 정적 메서드를 작성합니다.

  3. 3

    두 파일의 첫 번째 열 비교 : 두 번째에는 2 개의 열이 있지만 첫 번째에는 하나의 열이 있습니다.

  4. 4

    Regex는 문자열 C #의 첫 번째 문자 만 확인합니다.

  5. 5

    두 번째 문자열 PHP에서 첫 번째 문자열의 문자를 확인할 때 출력이 일치하지 않습니다.

  6. 6

    데이터 프레임의 이전 행에있는 경우 행에서 하위 문자열의 첫 번째 인스턴스를 제거합니다.

  7. 7

    모든 문자가 문자열에 한 번 이상 나타나는지 확인

  8. 8

    Python : 첫 번째 행에 저장 한 마지막 값을 제외하고 데이터 프레임의 열에서 모든 데이터를 제거합니다.

  9. 9

    목록 상자에 문자열이 몇 번 나타나는지 확인

  10. 10

    문자열 데이터 프레임 열에서 n 첫 번째 이후의 모든 문자를 제거하는 방법은 무엇입니까?

  11. 11

    Typescript는 문자열 배열의 첫 번째 항목이 문자열임을 이해하지 못합니다.

  12. 12

    첫 번째 열의 특정 문자열과 일치하는 외부 파일을 읽고 PHP에서 두 번째 열의 각 문자열을 반환합니다.

  13. 13

    java for loop 첫 번째 문자열의 첫 번째 문자 다음 두 번째 문자열의 마지막 문자

  14. 14

    열의 첫 번째 값을 나머지 열에 더하거나 뺍니다 (MATLAB).

  15. 15

    파이썬의 문자열에서 첫 번째 숫자가 나타날 때까지 정규식 일치

  16. 16

    Python 데이터 프레임 열의 첫 번째 문자가 숫자인지 확인하는 방법

  17. 17

    모든 문자열의 첫 번째 문자가 문자열 배열에서 동일하거나 없는지 확인

  18. 18

    다른 목록에 나열하지만 첫 번째 목록의 요소가 두 번째 목록에 차례로 나타날 필요는 없습니다.

  19. 19

    Grails는 문자열의 첫 번째 문자를 제거합니다.

  20. 20

    문자에 추가되는 첫 번째 문자열 제외

  21. 21

    첫 번째 열과 두 번째 열의 차이에 따라 데이터 프레임의 세 번째 열에서 값을 얻는 방법은 무엇입니까?

  22. 22

    문자열의 첫 번째 숫자 앞에 나오는 모든 문자를 반환합니다.

  23. 23

    Rails는 데이터베이스에서 문자열의 첫 번째 부분과 두 번째 부분을 어떻게 검색합니까?

  24. 24

    Seconde 수준에서 다중 인덱스 데이터 프레임의 첫 번째 열을 삭제하는 방법 일부 열 제외

  25. 25

    내 데이터가 모두 데이터 프레임의 첫 번째 열에 있고 나머지는 NaN 인 이유를 아십니까?

  26. 26

    옥타브의 문자열에서 첫 번째 문자 제거

  27. 27

    첫 번째 열을 제외한 Pig에서 데이터 추출

  28. 28

    R에서 조건이있는 문자열의 첫 번째 문자 제거

  29. 29

    면접 테스트-문자열에 나타날 두 문자 중 첫 번째 문자의 색인 찾기

뜨겁다태그

보관