0
功能我要做到以下幾點:環路和R中
#choosing one column called "z" from select
select<-read.table(file='dane.txt', header=TRUE)
n=select$z
#defining f function
f<-function(redshift) {
0.2*(sqrt(0.3*((1+redshift)^3)+0.7*((1+redshift)^2)+1))^(-1)
}
# for all values from column "z" I want to calculate the integral from 0 up to value from column "z"
for(i in n){
int[i]<-integrate(f(i),0,i)
}
對於來自列所有值「Z」我想從0計算積分達到從列「Z」值,我想從文件中保存每個行的結果,名稱爲int。 爲什麼它沒有工作?現在它給了我錯誤:「match.fun(f)中的錯誤:'f(i)'不是函數,字符或符號」。請幫忙。
'f'是一個函數。你認爲'f [i]'在做什麼?你想調用這個函數嗎?這可以通過'f(i)'完成。但看起來你只是想傳遞整個函數來進行整合:'integrate(f,0,i)'。另外,int是從哪裏來的?請嘗試提供[可重現的示例](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)並清楚地指出所需的輸出。 – MrFlick
是的,我想調用該函數。在第一次嘗試我有int [i] < - integration(f(i),0,i),但它也沒有工作。我在這裏把我最後一次嘗試與f [i]放在一起。我想把結果保存在「int」的名字下。我想計算積分(f,0,i),並且對於我的文件中列「z」的所有「i」,我想保存結果。例如,對於n的第一個值(讓該值爲0.1):我想要像這樣計算積分:integrate(f(0.1),0,0.1)。 –