У меня есть два кадры данныхОценка один кодовый блок в двух кадрах данных в R
d1 = data.frame(a=1:4,b=2:5)
d2 = data.frame(a=0:3,b=3:6)
и хотел бы оценить тот же блок кода, например
c<-exp(a)
d<-b^2
в течение каждых данных Рамка. На данный момент я должен дублировать блок кода следующим образом:
d1t = within(d1, {
c<-exp(a)
d<-b^2
})
d2t = within(d2, {
c<-exp(a)
d<-b^2
})
, что делает мой код подвержен ошибкам, если внести изменения в один из кодовых блоков (они должны быть одинаковыми).
Я не очень хорошо знаком с средами в R, но я думаю, что их можно использовать для решения этой проблемы. Как мне это сделать?
Будет ли это работать не как 'lst <- ls (pattern = '^ d \\ d +')' –
@ShawnMehan Он дает только имена объектов, например, «d1» и «d2». Чтобы получить значения, нам нужно 'get' или' mget' – akrun
Спасибо, ваш оригинальный комментарий был действительно более полезным. У меня только два кадра данных, построенных отдельно (поэтому объединение их в список не нужно). Но у меня очень длинный блок кода, который включает определения функций. Итак, 'f = function (x) внутри (x, {x <-exp (a); d <-b^2}); d1t <-f (d1) 'работает лучше всего. – js86