Я работаю над этим несколько часов, и я довольно сильно застрял. Мне нужна функция, которая действует как функция with
, но позволяет мне генерировать новые переменные в моем data.frame
, используя другие переменные в data.frame
или внешние значения.R: Имитация функции с помощью функции
MYDATA <- data.frame(a1=rnorm(5), a2=rnorm(5))
dg <- function(svar, exp, tempdata="MYDATA") {
tempdata <- get(tempdata)
tempdata[svar] <- with(tempdata, eval(substitute(exp)))
return(tempdata)
}
MYDATA
# a1 a2
#1 0.07113 0.84302
#2 -0.46902 -1.12064
#3 1.01703 0.62591
#4 1.13271 0.24405
#5 -0.24867 -0.02474
В идеале было бы сделать следующее:
dg("b",a1+a2)
# a1 a2 b
#1 0.07113 0.84302 0.9141
#2 -0.46902 -1.12064 -1.5897
#3 1.01703 0.62591 1.6429
#4 1.13271 0.24405 1.3768
#5 -0.24867 -0.02474 -0.2734
Спасибо за ваше внимание! Фрэнсис
Вы ищете 'within'? – Roland