2016-06-09 5 views
0

PCA에서 LAD (Leave-One-Out) 교차 유효성 검사를 사용하여 일부 데이터를 예측하려고합니다.R이 단일 행을 예측합니다.

prcomp 내가 벡터 (즉, 단일 행)이 아닌 매트릭스 (즉, 여러 행)를 공급하고 있습니다 때문에

error: 'newdata' must be a matrix or data frame

화가됩니다 predict에 기능을 제공하지만 때, 잘 어울린다.

내가 그 as.data.frameas.matrix 다양한 품종을 시도했다하지만 난 아직 여기 loo 내 예에서 오류

error: 'newdata' does not have named columns matching one or more of the original columns`

를 얻을 LOO 지수와 mydatamyinfo입니다 각각 데이터와 메타 데이터가 포함되어 있습니다.

tdata = mydata[-loo,] 
tinfo = myinfo[-loo,] 

vdata = mydata[loo,] 
vinfo = myinfo[loo,] 

p = prcomp(tdata) 
predict(p, newdata = vdata) 
+0

는'as.data.frame'을 수행 한 후'colnames' 설정을 시도 했습니까? 'colnames (vdata) <- colnames (tdata)'. – ytk

+0

R은 1xn 및 nx1 행렬을 처리하기 때문에 동일한 데이터 프레임이 단 1 개의 열로 끝나기 때문에 문제가있는 것으로 보입니다. –

답변

1

신경 끄시는 그것을 발견 :

predict(p, newdata = as.data.frame(t(vdata)))