는이를 달성하는 방법은 여러 가지가 있습니다.
as.name()
을 사용하면 정보가 "profit"
인 문자를 R 이름 (또는 기호)으로 인코딩 할 수 있습니다. 여기 response
response <- as.name("profit")
frm <- as.formula(bquote(.(response) ~ .))
str(frm)
> str(frm)
Class 'formula' language profit ~ .
..- attr(*, ".Environment")=<environment: R_GlobalEnv>
는 기호/이름 profit
입니다. 우리는 문자 response
보다는 response
에있는 것을 대체하기 위해 bquote
을 사용하고 그 표현을 공식에 강요합니다.
foo <- c("profit", "loss")
response <- as.name(foo[1])
as.formula(bquote(.(response) ~ .))
response <- as.name(foo[2])
as.formula(bquote(.(response) ~ .))
> foo <- c("profit", "loss")
> response <- as.name(foo[1])
> as.formula(bquote(.(response) ~ .))
profit ~ .
> response <- as.name(foo[2])
> as.formula(bquote(.(response) ~ .))
loss ~ .
다른 방법이 함께 또는 paste()
문자열입니다 : "profit"
너무 문자 벡터의 경우 우리가 입력 한 것처럼 우리가 같은 개체에 결국이 방법은 profit ~ .
> all.equal(frm, profit ~ .)
[1] TRUE
이 작동 사용 당신이 R 것을 정말 그것이 무엇인지에 따라 달라집니다의 선택을 끝낼 reformulate()
response <- "profit"
f1 <- formula(paste(response, "~ ."))
f2 <- reformulate(".", response = response)
str(f1)
str(f2)
all.equal(f1, f2)
all.equal(frm, f1)
> str(f1)
Class 'formula' language profit ~ .
..- attr(*, ".Environment")=<environment: R_GlobalEnv>
> str(f2)
Class 'formula' language profit ~ .
..- attr(*, ".Environment")=<environment: R_GlobalEnv>
> all.equal(f1, f2)
[1] TRUE
> all.equal(frm, f1)
[1] TRUE
eally하고 있습니다.
답답해 (attr (terms (mu.fo), term.labels '), 응답)' – rawr
오른쪽 개체가 수식으로 필요하거나 필요에 따라 해결할 수 있습니까? ? 내 대답 중 일부는 그 구체적인 세부 사항을 놓쳤다. –
예, model.matrix에서 사용하려면 수식으로 오른쪽이 필요합니다. – fhernanb