전체 데이터 프레임에서 논리 연산자를 사용하여 데이터 프레임을 필터링하려고하는데 NA 행이 서브셋 된 데이터 프레임에 들어온 것입니다. Subsetting R data frame results in mysterious NA rows 및 Subsetting R data frame results in mysterious NA rows을 통해 알게되었지만 해결책을 찾지 못했습니다.NA 행이 오감으로 인해 데이터 프레임 필터링 문제가 발생했습니다.
df <- data.frame(number1 = c(1:5,-13,-2,-34,24,33), number2 = c(10:3, -73, -82))
df
df[df>=0 & !is.na(df$number2),]
원본 데이터 프레임의 모든 행에 음수 값이 없도록 필터링하려고합니다. 나는 여러 개의 NA 행을 가진 18 행 df를 얻는다.
내 df에서 논리 연산이 제대로 작동하는지 확인하기 위해 sapply를 사용 해봤습니다. 그러나 만약 내가 "어느 쪽"으로 감싸면 나는 18 개의 줄을 모두 얻는다.
sapply(names(df), function(x) df[x]>=0)
내 목표는 임의의 열에 음수 값이없는 df를 얻는 것입니다.
편집 : 제 경우에는 필터를 걸기 전에 결과 df가 얼마나 많은 열을 가지는지 알지 못합니다. 따라서 열을 개별적으로 필터하면 & 연산자가 문제가되지 않습니다. 이것이 논리적 연산자 또는 전체 df를 적용하려고 한 이유입니다.
감사를 할 수 있습니다. 그러나 이것은 단지 작동합니다. 얼마나 많은 열이 내 df에서 가질 것인지를 안다면. 필자의 경우, 필터를 적용하기 전에 생성 된 df가 얼마나 많은 컬럼을 가지는지 알지 못한다. 이것이 바로 논리 연산자 또는 전체 df를 적용하려는 이유입니다. – SuperSatya