10
입니다. 수식은 R의 통계 및 그래픽 함수의 매우 유용한 기능입니다. 모두와 마찬가지로, 나는 이러한 기능을 사용합니다. 그러나 저는 수식 객체를 인수로 취하는 함수를 작성한 적이 없습니다. 누군가가 나를 도울 수 있는지 궁금 해서요. R 프로그래밍 측면에서 읽을 수있는 소개로 연결하거나, 자체적으로 포함 된 예제를 제공합니다.사용자 정의 함수의 공식은 R
입니다. 수식은 R의 통계 및 그래픽 함수의 매우 유용한 기능입니다. 모두와 마찬가지로, 나는 이러한 기능을 사용합니다. 그러나 저는 수식 객체를 인수로 취하는 함수를 작성한 적이 없습니다. 누군가가 나를 도울 수 있는지 궁금 해서요. R 프로그래밍 측면에서 읽을 수있는 소개로 연결하거나, 자체적으로 포함 된 예제를 제공합니다.사용자 정의 함수의 공식은 R
당신은 공식을 평가하기 위해 model.matrix()
및 model.frame()
를 사용할 수 있습니다
lm1 <- lm(log(Volume) ~ log(Girth) + log(Height), data=trees)
print(lm1)
form <- log(Volume) ~ log(Girth) + log(Height)
# use model.matrix
mm <- model.matrix(form, trees)
lm2 <- lm.fit(as.matrix(mm), log(trees[,"Volume"]))
print(coefficients(lm2))
# use model.frame, need to add intercept by hand
mf <- model.frame(form, trees)
lm3 <- lm.fit(as.matrix(data.frame("Intercept"=1, mf[,-1])), mf[,1])
print(coefficients(lm3))
매우 흥미로운
Call: lm(formula = log(Volume) ~ log(Girth) + log(Height), data = trees)
Coefficients: (Intercept) log(Girth) log(Height)
-6.63 1.98 1.12
(Intercept) log(Girth) log(Height)
-6.632 1.983 1.117
Intercept log.Girth. log.Height.
-6.632 1.983 1.117
감사를 얻을 수있다. 또한 glmnet 또는 ther 패키지가이 기능을 제공하지 않는 이유를 알았습니다. 패키지 Matrix에서 sparse 행렬을 사용하며 이는 model.matrix()로 처리 할 수 없습니다. – gappy