Я искал долго и упорно для решения с помощью применить, но я не могу найти именно то, что мне нужно.Я новый пользователь R, пришедший из Excel, и мне нужно вычислить процентную разницу от наблюдения с помощью элемента управления.Реальный образец данных выглядит следующим образом:
site <- c(rep(1, 10), rep(2,10), rep(3,10))
element <-rep(c("ca", "Mg", "K"), 10)
control <- seq(from= 1,to=60, by=2)
BA01 <- seq(from= 31,to=90, by=2)
BA02 <- seq(from= 21,to=80, by=2)
BA03 <- seq(from= 101,to=160, by=2)
mydf <- data.frame(site, element, control, BA01, BA02,BA03)
, где BA01-BA03 - это другой тест, который будет сравниваться с контрольным.
все, что я хотел бы сделать, это создать формулу, подобную этой: ((BA01-контроль) / контроль) * 100
и рассчитать ее для каждой тестовой колонки (BA01-BA03)и каждая строка во фрейме данных.В Excel я мог бы просто скопировать и вставить столбцы сайта и элемента плюс заголовки BA01-BA03, ввести формулу в ячейку C2 и перетащить формулу вправо, насколько это необходимо, затем вниз, насколько это необходимо, и получить мои результаты.В R у меня проблемы с получением тех же результатов.Я уже пытался подать заявку, но не могу заставить его работать.По сути, я бы хотел, чтобы в качестве столбцов 1 и 2 использовались Site и Element, а затем результаты из формулы с BA01, BA02 и BA03 в качестве имен столбцов.Возможно, это не будет иметь значения, но мой реальный фрейм данных будет иметь более 130 столбцов и несколько тысяч строк.
У кого-нибудь есть какие-нибудь советы для меня?
Большое спасибо заранее за вашепомощь.
Дан