Мне нужно использовать любую из применяемых функций в моем коде, а не для цикла. Ниже приведены примеры кода и функций.R: Как использовать функцию приложения в нижнем коде вместо цикла
Вот мои данные
testdata<-data.table(x1=sample(1000),y1=sample(1000),x2=sample(1000),y2=sample(1000),h=sample(1000))
Вот моя функция
testfunction<-function(x0,y0,x1,y1,x2,y2,h){
x<-x0+x1+x2+y0+y1+y2
y<-x+x0+y0
d<-x+y
R<-x+y+d
result <- data.frame(d,R,x,y)
return (result)
}
мой текущий код с для петли
resultdf<-data.frame(d=NA,R=NA,x=NA,y=NA)
for (i in 1:nrow(reqdata.LN)){
resultdf[i,]<-testfunction(x0=1.2,y0=2.1,testdata$x1[i],testdata$x2[i],
testdata$y1[i],testdata$y2[i],testdata$h[i])
}
Я попытался с помощью lapply и sapply, но есть несколько ошибок
bb<-lapply(1:nrow(testdata),testfunction,x0=1.2,y0=2.1,testdata$x1[i],testdata$x2[i],
testdata$y1[i],testdata$y2[i],testdata$h[i])
Может кто-нибудь сказать, как использовать это применимые функции.
Благодаря akrun. На самом деле вышеприведенная функция является примером, и она показывает тот же результат как для цикла, так и для кода data.table. Но с моей фактической функцией он дает разные результаты для цикла loop и вашего кода таблицы данных. У вас есть представление об этом. – PPC
@PPC Функция, созданная с помощью '+', векторизована. Ваша фактическая функция может быть не так. Возможно, вам придется создать новый пост с функцией, которая имитирует исходную проблему. – akrun
Да, моя фактическая функция не так проста и сложна. Данные конфиденциальны, поэтому я не могу поделиться им. Есть ли способ передать каждый элемент строки для функции с помощью применяемых функций. – PPC