4
테스터라는 행렬에 NA
값을 여러 개 보간하고 싶습니다.복수 NA 값 보간 R
ZONEID TIMESTAMP U10 V10 U100 V100
1 20121022 12:00 -1.324032e+00 -2.017107e+00 -3.278166e+00 -5.880225574
1 20121022 13:00 -1.295168e+00 NA -3.130429e+00 -6.414975148
1 20121022 14:00 -1.285004e+00 NA -3.068829e+00 -7.101699541
1 20121022 15:00 -9.605904e-01 NA -2.332645e+00 -7.478168285
1 20121022 16:00 -6.268261e-01 -3.057278e+00 -1.440209e+00 -8.026791079
I는 zoo
패키지를 설치하고 코드 library(zoo)
를 사용했다 : 모든 매트릭스 다른 열 다중도가 744x6에
이
는 NA 값의 1 열과 테스터의 일부이다. 나는na.approx
기능을 사용하려고 노력하지만, 선형으로 반환
na.approx(tester)
# Error ----> need at least two non-NA values to interpolate
na.approx(tester, rule = 2)
# Error ----> need at least two non-NA values to interpolate
na.approx(tester, x = index(tester), na.rm = TRUE, maxgap = Inf)
은 그 후 내가 시도 :
Lines <- "tester"
library(zoo)
z <- read.zoo(textConnection(Lines), index = 2)[,2]
na.approx(z)
는 다시 나는 같은 여러
NA
값 오류가 발생했습니다. 나는 또한 시도했다 :
z <- zoo(tester)
index(Cz) <- Cz[,1]
Cz_approx <- na.approx(Cz)
같은 오류.
정말 바보 같은 일을해야합니다.하지만 정말 감사드립니다.
2 값은 회귀선을 형성하고 보간을 허용합니다. 2 미만의 실제 값으로 외삽하는 것은 불가능하다는 것이 수학적 확실성입니다. 당신은 난수 생성기를 사용할 수도 있습니다. 행렬에 NA 값으로만 구성된 변수가 없는지 확인하십시오. 그리고 http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example에서 우리가 작업 할 수있는 코드와 테스트 객체를 어떻게 제공하는지 확인하십시오. SO에 오신 것을 환영합니다! –
안녕하세요, Joris, 도와 주셔서 대단히 감사합니다. 선형 보간법이 수학적으로 정당화되지 않는다고 절대적으로 옳습니다. 하지만 난수 생성기가 내 문제를 어떻게 도울 지 확신하지 못합니다. 어떻게 여러개의 NA 값이 이전과 다음 숫자 사이에 있거나 적어도 이전 또는 다음 숫자와 같은 코드를 프로그램 할 수 있습니까? V10 변수가 -2.017 ~ -3.057 사이 인 경우 이걸 도와 줄 수 있니? 고맙습니다. 또한 편집 해 주셔서 감사 드리며, 다음 번에 귀하의 조언을 크게 망치고 읽지 않았 으면합니다. –
[Amelia] (http://cran.r-project.org/web/packages/Amelia/index.html)? – Roland