특정 NA 열이 포함된 행 생략
생략하는 방법을 알고 싶습니다.NA데이터 프레임의 값을 입력할 수 있습니다.
예를들면,
DF <- data.frame(x = c(1, 2, 3), y = c(0, 10, NA), z=c(NA, 33, 22))
하지만 저는 단지 데이터를 생략하고 싶습니다.y이라NA따라서 결과는 다음과 같아야 합니다.
x y z
1 1 0 NA
2 2 10 33
na.omit모든 행에 포함된 모든 행을 삭제하는 것 같습니다.NA.
누가 이 간단한 질문에서 나를 도와줄 수 있습니까?
하지만 지금 질문을 바꾸면 다음과 같습니다.
DF <- data.frame(x = c(1, 2, 3,NA), y = c(1,0, 10, NA), z=c(43,NA, 33, NA))
생략할 경우에만x=na또는z=na어디에 둘 수 있습니까?|기능하고 있습니까?
사용하다is.na
DF <- data.frame(x = c(1, 2, 3), y = c(0, 10, NA), z=c(NA, 33, 22))
DF[!is.na(DF$y),]
해들리의tidyr방금 이 놀라운 기능을 얻었습니다.drop_na
library(tidyr)
DF %>% drop_na(y)
x y z
1 1 0 NA
2 2 10 33
당신은 사용할 수 있습니다.complete.cases다음과 같이 기능하고 함수에 넣습니다.
DF <- data.frame(x = c(1, 2, 3), y = c(0, 10, NA), z=c(NA, 33, 22))
completeFun <- function(data, desiredCols) {
completeVec <- complete.cases(data[, desiredCols])
return(data[completeVec, ])
}
completeFun(DF, "y")
# x y z
# 1 1 0 NA
# 2 2 10 33
completeFun(DF, c("y", "z"))
# x y z
# 2 2 10 33
편집: 행만 반환하고 행은 반환하지 않음NAs
하나 이상의 행을 가진 모든 행을 제거하려는 경우NA어떤 열이든, 그냥 사용하세요.complete.cases직하 기능:
DF[complete.cases(DF), ]
# x y z
# 2 2 10 33
아니면 만약에completeFun워크플로우에 이미 포함되어 있습니다 ;)
completeFun(DF, names(DF))
'부분 집합' 사용
DF <- data.frame(x = c(1, 2, 3), y = c(0, 10, NA), z=c(NA, 33, 22))
subset(DF, !is.na(y))
사용할 수 있습니다.na.omit위해서data.table:
na.omit(data, cols = c("x", "z"))
두 개의 특정 열 중 하나에 다음이 포함된 경우<NA>.
DF[!is.na(DF$x)&!is.na(DF$z),]
사용해 보십시오.
cc=is.na(DF$y)
m=which(cc==c("TRUE"))
DF=DF[-m,]
사용해 보십시오.
DF %>% t %>% na.omit %>% t
데이터 프레임을 전치하고 전치 이전의 '열'이었던 null 행을 생략한 다음 다시 전치합니다.
업데이트하려면, atidyverse로 접근.dplyr:
library(dplyr)
your_data_frame %>%
filter(!is.na(region_column))
사용자 지정 함수를 만들 필요가 없습니다.complete.cases특정 열에 NA가 있는 행을 제거합니다.다음은 재현 가능한 예입니다.
DF <- data.frame(x = c(1, 2, 3), y = c(0, 10, NA), z=c(NA, 33, 22))
DF
#> x y z
#> 1 1 0 NA
#> 2 2 10 33
#> 3 3 NA 22
DF[complete.cases(DF$y),]
#> x y z
#> 1 1 0 NA
#> 2 2 10 33
repref v2.0.2를 사용하여 2022-08-27에 생성됨
보시다시피 특정 열에 NA가 있는 행이 제거되었습니다.
언급URL : https://stackoverflow.com/questions/11254524/omit-rows-containing-specific-column-of-na
'programing' 카테고리의 다른 글
| Mongoids는 무서운 URL로 이어집니다. (0) | 2023.06.26 |
|---|---|
| Git - push.default "matching"과 "simple"의 차이점은 무엇입니까? (0) | 2023.06.26 |
| Angular 2에서 JSON을 게시하려면 어떻게 해야 합니까? (0) | 2023.06.26 |
| HttpContext는 왜입니까?현재 null? (0) | 2023.06.26 |
| "쿼리 내에서 DML 작업을 수행할 수 없음"에 대한 솔루션? (0) | 2023.06.26 |