기존 행렬 m
의 특정 원소 (index
)에 변수 f
을 쓰고 싶습니다.Factor, levels, and original values
f <- factor(c(3,3,0,3,0))
m <- matrix(NA, 10, 1)
index <- c(1,4,5,8,9)
m[index] <- f
이 m
에 ('2'를 '1'등)가 레이블을 그리 듯 원하는 결과를 제공하지 않습니다 사용하지만 원래 값 (:의는 f
가정하자 요인입니다 '0'및 '3'). 따라서 대신 잘 사용되는
m[index] <- as.numeric(levels(f))[f]
을 사용했습니다.
하지만 내 상황에서
,f
항상 요인이 아니라도
f <- c(3.43, 4.29, 5.39, 7.01, 7.15)
내가
if (is.factor(f)) {
m[index] <- as.numeric(levels(f))[f]
} else {
m[index] <- f
}
처럼 확인해야 또는 "보편적 인"방법이 있나요 같은 숫자 일 수있다 f
의 "true"값을 m
행렬에 f
유형과 관계없이 둡니다.
미리 감사드립니다.
P.S : 배경이 f
가 model
가 model <- svm(Xtrain, Ytrain)
에 의해 훈련을받은 SVM 모델이며, 분류 일 모델 일이 될 수 있습니다 f <- predict(mymodel, Xnew)
의 결과인지 또는 회귀 모형 (다음 f
는 요인이다) (다음 f
는 숫자입니다). 모델의 유형을 알고 있지만 위의 if 절이 다소 불편한 것처럼 보입니다.
당신이 대신 행렬의 data.frame을 사용할 수 있습니까? Data.frames는 데이터 형식과 관련하여보다 융통성이 있으며 매트릭스는 문자 또는 숫자 만 사용합니다. –