lm()이 수식 입력으로 문자열을 받아들이 길 기대했지만 꽤 효과적이지 않습니다. 이 지금까지 작동합니다 :lm이 수식에서 eval을 해석하는 방법
Test<-as.data.frame(matrix(sample(1:100, 12), 4, 3))
colnames(Test)<-c("Y", "X1", "X2")
lm(Y~X1, data=Test)
XT1<-"X1"
lm(Y~eval(parse(text=XT1)), data=Test)
이 올바르게 작동하고 올바른 출력을 생성합니다. 그러나 두 개 이상의 매개 변수가있는 경우 :
lm(Y~X1+X2, data=Test)
XT2<-"X1+X2"
lm(Y~eval(parse(text=XT2)), data=Test)
이렇게해도 동일한 결과가 나오지 않습니다. 배경에 대한
parse(text=XT1)
parse(text=XT2)
: 분명히 있기 때문에 문자열이 모두 올바르게 해석하는 이유를 궁금해 결국이 매개 변수의 매트릭스가 제공하는 기능에서 작동해야하며 XT2 문자열을 동적으로 만들 수 있어야 행렬의 colnames, 그래서 1과 (가상의) 무한 사이의 가능한 모든 길이의 XT2와 함께 작동하는 솔루션이 필요합니다.