여러 열이있는 데이터 프레임이 있습니다. 두 열에서 0 또는 NA를 제거하고 싶습니다. 아래 샘플을 참조하십시오.
Input <- data.frame(DM = LETTERS[1:8], JM = LETTERS[19:26], CY = c(1,2,0,NA,5,34,0,NA), LY = c(2,4,NA,NA,-5,6,0,0))
DM JM CY LY
A S 1 2
B T 2 4
C U 0 NA
D V NA NA
E W 5 -5
F X 34 6
G Y 0 0
H Z NA 0
나는 다음을 시도했다 :
Output<-Input[rowSums(Input[c("CY", "LY")], na.rm = TRUE) != 0, ]
다음 출력을받은 코드를 기반으로합니다.
DM JM CY LY
A S 1 2
B T 2 4
F X 34 6
합계가 0 인 경우에도 출력을 얻고 싶습니다. 원하는 출력 :
DM JM CY LY
A S 1 2
B T 2 4
E W 5 -5
F X 34 6
0을 NA로 또는 NA를 0으로 변환 한 다음 rowSums
논리 행렬에서 사용 하고 논리 벡터를 부정하여 행의 부분 집합을 만들 수 있습니다.
Input[!!rowSums(replace(Input[c("CY", "LY")],
is.na(Input[c("CY", "LY")]), 0) != 0),]
# DM JM CY LY
#1 A S 1 2
#2 B T 2 4
#5 E W 5 -5
#6 F X 34 6
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다