>source

아래는 내가 작업중인 데이터의 일부입니다. sbp.id 열에서 마지막 문자를 추출하고 결과를 사용하여 "sex"라는 아래 데이터 프레임에 새 열을 추가하는 방법을 찾는 데 문제가 있습니다. 처음에는 F로 끝나는 행과 M으로 끝나는 행을 분리하기 위해 grepl을 시도했지만 각 행의 마지막 문자에 따라 M 또는 F로 새 열을 만드는 방법을 알아낼 수 없었습니다. sbp.id 열

sbp.id newID 
125F   125 
13000M 13000
13120M 13120
13260M 13260
13480M 13480

  • 답변 # 1

    정규식을 사용하여 마지막 부분을 추출 할 수 있습니다. sbp.id

    df$sex <- sub('.*([A-Z])$', '\\1', df$sbp.id)
    #Also
    #df$sex <- sub('.*([MF])$', '\\1', df$sbp.id)
    
    

    또는 다른 방법은 모든 숫자를 제거하는 것입니다.

    df$sex <- sub('\\d+', '', df$sbp.id)
    
    

  • 답변 # 2

    또 다른 방법으로, 다른 문자가 숫자, 숫자 또는 요소의 길이가 모두 다른 경우에도 마지막 문자가 필요하다는 것을 알고 있지만 여전히마지막 캐릭터모든 행의 문자열 :

    df$sex <- substr(df$sbp.id, nchar(df$sbp.id), nchar(df$sbp.id))
    
    

    이는 모든 함수가 기본적으로 벡터화되기 때문에 작동합니다.

관련 자료

  • 이전 javascript - Nodejs는 클라이언트 측 파일을 찾을 수 없습니다
  • 다음 'ReportWebVitals'가 정의되지 않았습니다