두 개의 데이터 프레임 df1과 df2가 있습니다. 둘 다 240 obs가 있습니다. 204 개의 변수 중. 확인한 결과 해당 파일에 누락 또는 NA 값이 없습니다. 그러나이 공식으로 회귀하면 :
library(broom)
fit4 <- lapply(names(df1), function(x){
dd = tidy(lm(df1[[x]] ~ df2[[x]]))
data.frame(name = x, dd)})
다음과 같은 오류 메시지가 표시됩니다.
lm.fit (x, y, offset = offset, singular.ok = singular.ok, ...) 오류 : 'y'의 NA / NaN / Inf
오류 자체에서 알 수 있듯이 NaN 값 또는 무한 값 때문일 수 있으므로 해당 값을 삭제하거나 0을 할당해야합니다.
전체 데이터 프레임에서 NaN을 제거하려면 여기에 설명 된대로 함수를 생성해야합니다 .
is.nan.data.frame <- function(x)
do.call(cbind, lapply(x, is.nan))
dd[is.nan(dd)] <- 0
무한한 숫자에 대해서는이 질문을 참조 할 수 있습니다 . 두 가지 더 빠른 방법은 모든 무한 값을 제거하는 것입니다.
dd[!rowSums(!is.finite(dd)),]
또는 0으로 바꾸려면 :
dd[!is.finite(dd)] <- 0
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다