Volatile:AuthorSummary

Revision as of 13:20, 6 October 2008 by Editor (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)



Related pages: Author Index

Author ... author of 0 paper

No institute/nationality information. Please update from here.

<graph graph="vbar" data="{{#lua:

 local Ja = {} -- journals
 local Yr = {} -- publication years
 local first = 10000
 local last = 0
 for au, ja, yr in stdin:gmatch("([%a:_]+),([%a_\.]+),(%d+),(%d+)")
       do table.insert(Ja, ja);
       yr = tonumber(yr)
       if (yr < first) then first = yr end
       if (yr > last) then last = yr end
       if (Yr[yr] == null) then Yr[yr] = 1 else Yr[yr] = 1 + Yr[yr]
       end
     end
 step = math.ceil((last - first+1)/10)
 output = "size=500x200;title=publication chart;legend=0.8x0;label="
 if (step > 1)
   then output = output..first.."\\n-"..(first+step-1)
   else output = output..first
 end
 loop = math.ceil((last - first+1)/step)
 for i=first+step, first+(step*loop)-1, step do
   if (step > 1)
     then output = output..","..i.."\\n-"..(i+step-1)
     else output = output..","..i
   end
 end
 for i=0, step-1 do
   if (step == 1)
     then output = output..";count=" 
     else output = output..";mod "..i.."="
   end
   for y = first, first+(step*loop)-1 do
     if (y % step == i) then
       if (Yr[y] == nil)
         then output = output.."0,"
         else output = output..Yr[y]..","
       end
     end
   end
 end
 print(output..";")

| }}" />


{{#lua:

 local author = stdin:gmatch("%S+");
 local Au = {}; -- authors
 local count =0;
 local total =0;
 local paper =0.0;
 for aus, ja, yr in stdin:gmatch("([%a:_]+),([%a_\.]+),(%d+),(%d+)") do
   paper = paper + 1;
   for au in string.gmatch(aus,"[%a_]+") do
     if (author ~= au) then
       if (Au[au] == null)
         then Au[au] = 1; count = count + 1;
         else Au[au] = 1 + Au[au];
       end
     end
     total = total + 1;
   end
 end
 local output = count .. " coauthors total.
(average" .. string.format("%.1f",total / paper) .. " / report)\n"; for k, v in pairs(Au) do output = output .. "# Volatile:AuthorSummary?my_1=" .. k .. " " .. k .. " (" .. v .. ")\n"; end print(output);

|Author }}