매우 긴 데이터 프레임 (~ 11 백만 x 130)이 백분율로 드물게 채워져 있습니다 (0.00-100.00, 부동 소수점).
누락 된 항목은 다음과 같이 "NA"로 표시됩니다.
cat1 NA NA 99.90 NA NA 10.90 NA
cat2 NA 1.00 NA 19.12 NA NA NA
cat3 NA NA NA NA NA NA 45.00
이 데이터 프레임을 행별로 살펴보고 "NA"의 발생을 합산하고 싶습니다.
일반적으로 R에서를 수행하여 매우 쉽게 수행 할 수 apply(data.frame, 1, function(x) sum(is.na(x))
있지만 파일이 너무 커서 메모리 문제가 계속 발생합니다. 가능한 경우 AWK로 이것을 수행하여 향후 유사한 문제에 대해 명령 줄에 적용 할 수 있습니다.
나는 awk를 잘 사용하지 못하지만 본질적으로 각 레코드 / 행에 대한 필드에서 "NA"의 발생을 합하고 나중에 파일 줄을 건너 뛰기위한 인덱스로 사용할 수 있습니다.
미리 감사드립니다
간단하게 :
$ awk '{ for (i=2;i<=NF;i++) if ($i=="NA") c++; print c; c=0 }' file
5
5
6
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다