일부 숫자 열이있는 데이터 프레임이 있습니다. 일부 행은 통계 분석에서 0으로 간주되어야하는 0 값을가집니다. R에서 모든 0 값을 NULL로 바꾸는 가장 빠른 방법은 무엇입니까?모든 0 값을 NA
답변
NA 0 장착 :
df[df == 0] <- NA
data.table 객체에 해당하는 구문은 무엇입니까? – dadrivr
나는 많은 표를 얻었지만,
#Sample data
set.seed(1)
dat <- data.frame(x = sample(0:2, 5, TRUE), y = sample(0:2, 5, TRUE))
#-----
x y
1 0 2
2 1 2
3 1 1
4 2 1
5 0 0
#replace zeros with NA
dat[dat==0] <- NA
#-----
x y
1 NA 2
2 1 2
3 1 1
4 2 1
5 NA NA
[<-
기능을 갖지 않는 다른 방법 :
(부끄러움 체이스 않음 @ 복사) 샘플 데이터 프레임 dat
:
dat
x y
1 0 2
2 1 2
3 1 1
4 2 1
5 0 0
0을로 바꿀 수 있습니다. is.na<-
기능에 의해 83,210 : 당신은 숫자 필드에 NA
와 0
을 대체 할 수
is.na(dat) <- !dat
dat
x y
1 NA 2
2 1 2
3 1 1
4 2 1
5 NA NA
(즉, 요소 같은 것들을 제외)하지만 열별로 작동합니다
col[col == 0 & is.numeric(col)] <- NA
기능으로, 당신은 당신의 전체 데이터 프레임이 적용 할 수 있습니다 :
changetoNA <- function(colnum,df) {
col <- df[,colnum]
if (is.numeric(col)) { #edit: verifying column is numeric
col[col == -1 & is.numeric(col)] <- NA
}
return(col)
}
df <- data.frame(sapply(1:5, changetoNA, df))
을 바꿀 수 있지만 데이터 프레임의 열 수와 함께 1:5
이거나 1:ncol(df)
입니다.
귀하의 data.frame은 다른 데이터 유형이 혼합되어 있으며 모든 열을 수정할 필요가 없다고 가정 해 보겠습니다.
는 수행 (총 21) 18 만 열 (12)을 수정하려면이df[, 12:18][df[, 12:18] == 0] <- NA
사람이의 Data.Table 버전을 요청 해, 지정된 때문에 data.frame 솔루션을하지 않기 때문에 data.table을 사용하여 작업하십시오. 아래 솔루션을 제공하고 있습니다. >DT[x == 0, x := NA]
library("data.table")
status = as.data.table(occupationalStatus)
head(status, 10)
origin destination N
1: 1 1 50
2: 2 1 16
3: 3 1 12
4: 4 1 11
5: 5 1 2
6: 6 1 12
7: 7 1 0
8: 8 1 0
9: 1 2 19
10: 2 2 40
status[N == 0, N := NA]
head(status, 10)
origin destination N
1: 1 1 50
2: 2 1 16
3: 3 1 12
4: 4 1 11
5: 5 1 2
6: 6 1 12
7: 7 1 NA
8: 8 1 NA
9: 1 2 19
10: 2 2 40
또는'for (j에서 이름 (DT)); DT ([DT [j] == 0), j, NA)'로 설정한다. data.table을 사용하여 값을 찾아 바꾸는 방법에 대한 자세한 내용은 [here] (http://stackoverflow.com/a/7249454/4241780)를 참조하십시오. – JWilliman
시도
DF [is.na (DF)] < 아래 - -
기본적으로의 :=
연산자를 사용하여 내가 원하는 생각하지 않는다 0
이것은 역방향입니다. 문제는 0을 NA로 바꾸고 NA를 0으로 바꾸는 것입니다. – Gregor
- 1. 모든 0 값을 NULL로 설정하십시오.
- 2. apply()가 모든 열에 대해 NA 값을 제공합니다.
- 3. rpy2에서 prcomp()의 NA 값을 생략 하시겠습니까?
- 4. 팬더 MovingOLS는 NA 값을 지원하지 않습니까?
- 5. 레코딩의 NA
- 6. 벡터에서 NA 값을 제거하는 방법 R
- 7. NA 값이없는 FFDF 내보내기
- 8. NA 값을 제거 할 때 클래스 (문자)로 바뀌는 매트릭스
- 9. as.character (NA)의 R 값
- 10. ExpressionSet (ESET) NA
- 11. 0 값을 반환하는 RODBC
- 12. 이전의 비 NA 값을 사용하여 벡터에 NA를 채 웁니까?
- 13. /더 검색의 NA
- 14. CruiseControl.NET 및 NA
- 15. 배열에서 NA 찾기
- 16. NA 언어의 벡터 R
- 17. 1,0, NA 처리시 레벨이 없음
- 18. NA 수준별 인수 하위 집합
- 19. 0 + 0 + 0 ... + 0! = 0
- 20. 0 값을 반환하는 FQL 쿼리
- 21. 모든 0 값이 테이블에 전달됩니다.
- 22. 모든 유형에 대해 0 값이 있습니까?
- 23. 내부 NA 시계열, 동물원, R
- 24. lm 재현에서 NA 사용 금지
- 25. 데이터 프레임에 NA 값 삽입
- 26. 데이터베이스에 값을 추가하지 않은 jquery, readystate = 0 및 status = 0
- 27. foreach가 배열에서 모든 값을 가져 오지 못합니다.
- 28. 표준 편차를 실행할 때 "NA"가 표시됩니다.
- 29. XMP에서 모든 값을 추출하십시오.
- 30. 모든 입력 값을 얻을
를/NULL 값으로 대체 할 수 있지만 NA는 R 링고에서 그 목적을 수행합니다. – Chase