# [R] what is this averaging function called ?, has R a built in function for it ?

Tue Dec 7 12:50:09 CET 2010

```my input is from csv file:

fname= 'test'
x = csvdata\$V1
y = csvdata\$V2

I know that this group is not about php , but I managed to make function
from above a lot faster, and I'm still cannot operate R at a sufficient
level to recreate in in this language. Fit function in R that kinda
resembles it is smooth.spline, but that function seems to go in a strange
directions when data density becomes low

But I think I would get desired behaviour in smooth.spline if for x axis I
put matrix of simple 1,2,3 sequence

here is revised php code:

function smooth(\$in,\$smooth=500) {
if (count(current(\$in))!=2) exit('wrong array');
timer();

foreach(\$in as &\$v) {
\$v[0] = (string)\$v[0];
if (!isset(\$y[\$v[0]])) {
\$y[\$v[0]] = 0;
\$z[\$v[0]] = 0;
}
\$y[\$v[0]] += \$v[1];
++\$z[\$v[0]];
}
unset(\$in);
ksort(\$y, SORT_NUMERIC);
ksort(\$z, SORT_NUMERIC);
\$x = array_keys(\$z);
\$y = array_values(\$y);
\$z = array_values(\$z);
\$count = count(\$z);
echo n.\$count.' : ';
for (\$k=0;\$k<\$count;++\$k) {
if (!(\$k % 1000)) echo \$k.' ';
\$u = \$d = 0;
\$usum = \$dsum = 0;
\$walk = 0;
while (true) {
++\$walk;
if (isset(\$z[\$k-\$walk]) and \$z[\$k]+\$z[\$k-\$walk]+\$usum<\$smooth) {
\$usum += \$z[\$k-\$walk];
\$u += \$y[\$k-\$walk];
}
else break;
}
\$walk = 0;
while (true) {
++\$walk;
if (isset(\$z[\$k+\$walk]) and \$z[\$k]+\$z[\$k+\$walk]+\$dsum<\$smooth) {
\$dsum += \$z[\$k+\$walk];
\$d += \$y[\$k+\$walk];
}
else break;
}
\$out[\$k] = (\$y[\$k]+\$u+\$d)/(\$z[\$k]+\$usum+\$dsum);
}
echo ' : '.timer().n;
return array(\$x,\$out);
}
--
View this message in context: http://r.789695.n4.nabble.com/what-is-this-averaging-function-called-has-R-a-built-in-function-for-it-tp3072826p3076215.html
Sent from the R help mailing list archive at Nabble.com.

```