필드와 관련된 조건을 기반으로 데이터 프레임의 하위 집합 추출
다른 위치의 의료 조사 결과가 포함 된 큰 CSV가 있습니다 (위치는 데이터에있는 요소입니다). 일부 분석은 특정 위치와 편의를 위해 특정 위치에서만 행이있는 서브 프레임을 추출하고 싶습니다. 위치가 첫 번째 필드이므로 예, CSV 행을 정렬하여 할 수 있지만 다른 열에 필요할 것이라고 확신하므로 R에서 수행하는 방법을 배우고 싶습니다.
따라서 간단히 말해서 질문은 다음과 같습니다. 데이터 프레임 foo가 주어지면 foo의 행만 포함하는 다른 데이터 프레임 막대를 어떻게 만들 수 foo$location = 'there'
있습니까?
다음은 두 가지 주요 접근 방식입니다. 나는 가독성을 위해 이것을 선호합니다.
bar <- subset(foo, location == "there")
당신이 문자열 함께 많은 조건문과 함께 할 수있는 주 &
와 |
복잡한 하위 집합을 만들 수 있습니다.
두 번째는 인덱싱 접근 방식입니다. 숫자 또는 부울 슬라이스를 사용하여 R의 행을 인덱싱 할 수 있습니다. 의 행과 길이가 같은 및 값 foo$location == "there"
의 벡터를 반환합니다 . 이렇게하면 조건이 true를 반환하는 행만 반환 할 수 있습니다.T
F
foo
foo[foo$location == "there", ]
위의 답변을 확장하기 위해 수행중인 작업에 따라 유용 할 수있는 열 이름을 지정하는 대신 열을 인덱싱 할 수도 있습니다. 귀하의 위치가 첫 번째 필드라는 점을 감안하면 다음과 같습니다.
bar <- foo[foo[ ,1] == "there", ]
이는 특정 열에 대한 루프와 같은 열 값에 대한 작업을 수행 할 수 있기 때문에 유용합니다 (행 번호를 인덱싱하여 동일한 작업을 수행 할 수도 있음).
이는 열 범위를 지정할 수 있으므로 둘 이상의 열에 대해 일부 작업을 수행해야하는 경우에도 유용합니다.
foo[foo[ ,c(1:N)], ]
또는 예상대로 특정 열.
foo[foo[ ,c(1,5,9)], ]
'UFO ET IT' 카테고리의 다른 글
클래스 파일 이름의 $ 1은 무엇입니까? (0) | 2020.12.25 |
---|---|
getLocationOnScreen / getLocationInWindow의 잘못된 좌표 (0) | 2020.12.25 |
ASP.NET MVC 개발을위한 Windows Azure 또는 Amazon EC2? (0) | 2020.12.25 |
CQRS 예제 및 스크린 캐스트 (0) | 2020.12.25 |
Strawberry Perl을 사용하여 모듈 설치 (0) | 2020.12.25 |