2016-06-19 1 views
-1

특정 속성을 기반으로 함수를 반환하는 함수를 작성했습니다. 문제는 "paste"를 사용하여 반환 된 객체를 문자열로 만들어야한다는 것입니다. 다음은 반환 된 객체의 예입니다 :R : 문자열의 내용을 함수 본문으로 바꿈

the_problem <- "beta['v_p'] * 0.1 * ((3.99 * exp(-0.144 * time)) + 
       (4.78 * exp(-0.0111 * time))) + 0.1 * beta['ktrans_1'] * (3.99 * (exp(- 
    beta['kep_1']* time) - exp(- 0.144 * time)) * (0.144 - 
    beta['kep_1'])**(-1) + (4.78 * (exp(- beta['kep_1'] * time)- exp(- 
    0.0111 * time)) * (0.0111 - beta['kep_1'])**(-1)))" 

객체 "the_problem"을 함수로 사용할 수 있도록 조작하고 싶습니다. 예 :

dcemri_func <- function(beta){ 
    return(get.rid.of.string(the_problem))} 

이미 "as.function"을 시도했지만 작동하지 않습니다. 아이디어가 있으십니까?

고마워, 그리고 최고의 whishes,

크리스

+2

'몸 (dcemri_func)를 eval(parse(text = ..))를 사용하여 시도해 볼 수도 있습니다 <- 구문 분석 (텍스트 = the_problem)'? – rawr

답변

2

당신은, 즉 :

the_problem <- paste0('function(beta) ', the_problem) 
dcemri_func <- eval(parse(text = the_problem)) 
+0

그게 내가 찾고 있던거야! 감사! –

+0

메모 해 주셔서 감사합니다. 문제가 해결되면 투표 옆에있는 체크 표시를 클릭하여 해결책을 수락하십시오. – Nutle