선형 회귀를 실행할 때마다 다른 독립 및 종속 변수를 사용하는 for 루프가 있습니다. 그러나 lm () 함수는 문자열을 변수로 입력하려고한다고 믿기 때문에 작동하지 않습니다. 문제가 무엇인지 보여주기 위해이 간단한 예제를 만들었습니다. var1, var2 및 var3이 dat 데이터 프레임의 열 이름이라고 가정합니다. 열 이름을 직접 입력 할 수 없으므로 R 변수에 문자열로 할당해야합니다.
dat <- read.csv("dat.csv")
x1 <- "var1"
x2 <- "var2"
y <- "var3"
lm(y ~ x1 + x2, data = dat) #error
여기서 문제는 R이 lm ( "var3"~ "var1"+ "var2", data = dat)를 실행하려고한다는 것입니다. lm ()이 제대로 실행되도록 y, x1 및 x2에서 실행해야하는 함수를 찾는 데 도움이 필요합니다.
을 사용하여 문자열 변수 이름을 지정 as.formula
하고이를에 전달할 수 lm
있습니다.
x1 <- "var1"
x2 <- "var2"
y <- "var3"
fm <- as.formula(paste(y, "~", x1, "+", x2, sep=""))
lm(fm, data = dat)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다