[R] bowed linear approximations

Evans, Richard K. (GRC-H000) richard.k.evans at nasa.gov
Tue Sep 26 15:10:49 CEST 2017


Eric, John, thank you both very much for responding.

Ok.. I suppose I need to show more of the actual data. 
I have this data:

freq <- c(2, 3, 5, 10, 50, 100, 200, 300, 500, 750, 1000, 1300, 1800, 2450, 2900, 3000, 4000, 5000, 6000, 7000, 8200, 9300, 10000, 11000, 18000, 26500, 33000, 40000)
mag <- c(1.9893038, 1.5088071, 1.1851947, 0.9444483, 0.7680123, 0.7458169, 0.7069638, 0.6393066, 0.6261539, 0.6263381, 0.7053774, 0.6900626, 0.6953527, 0.7843036, 0.9056359, 0.8867276, 0.8937421, 0.9492288, 0.9629118, 1.1972268, 1.0010515, 0.9945838, 1.0564356, 0.8733333, 1.1666667, 1.5366667, 1.4666667, 1.3166667)

that must be displayed this way:

plot(freq,mag,type="b",log="x")

Essentially, I just want to show that I can reliably approximate the magnitudes of new data for additional random frequencies uniformly lying on the frequency axis. And so I write the following:

for(i in 1:200){ 
xx <- exp(runif(1,log(min(freq)),log(max(freq)) ))
yy <- approx(freq,mag,xout=xx, method = "linear")
points(xx,yy$y,col=rgb(1,0,0)) 
}

And I have been puzzling over why the approximated points don't lie linearly over the original data set (especially prominent  in the bow between freq=10 and 50). Once I realized (and concurred with) why this bow exists, I have been struggling with how to make these approximations as expected.. In my original post, I think I oversimplified it too much by implying that my application was just 2 data points.

Are your suggestions still valid do you think?
-Rich


More information about the R-help mailing list