Module:BiologicalAgeBiomarkers: Difference between revisions

no edit summary
(Created page with "local p = {} p.createTable = function(frame) local numRows = 10 local numCols = 10 local wikitable = '{| class="wikitable"\n' -- Kopfzeile wikitable = wikitable .. '! ' for col = 1, numCols do wikitable = wikitable .. ' !! ' .. col end wikitable = wikitable .. '\n' -- Zeilen und Spalten for row = 1, numRows do wikitable = wikitable .. '|-\n' wikitable = wikitable .. '| ' .. row for col = 1, numCol...")
 
No edit summary
 
(43 intermediate revisions by the same user not shown)
Line 1: Line 1:
local p = {}
local p = {}


p.createTable = function(frame)
local data = require('Module:BiologicalAgeBiomarkers/Data')
    local numRows = 10
    local numCols = 10
    local wikitable = '{| class="wikitable"\n'


    -- Kopfzeile
local biomarkers = data.biomarkers
    wikitable = wikitable .. '! '
local rows = data.rows
     for col = 1, numCols do
local studies = data.studies
        wikitable = wikitable .. ' !! ' .. col
 
     end
function p.template(frame, name, arg)
     wikitable = wikitable .. '\n'
return frame:expandTemplate({title = name, args = { arg }})
end
 
function p.createCrossTable(frame)
     for _, study in ipairs(studies) do
    local count = 0
for _ in pairs(study.biomarkers) do
count = count + 1
end
    study.count = count
end
     -- Start of the wiki table
     local wikitable = '{| class="wikitable sortable"\n'
    local sep = ''


    -- Zeilen und Spalten
     for i, row in ipairs(rows) do
     for row = 1, numRows do
         wikitable = wikitable .. sep
         wikitable = wikitable .. '|-\n'
        sep = '|-\n'
         wikitable = wikitable .. '| ' .. row
         wikitable = wikitable .. '! colspan="3" | ' .. row.name .. '\n'
         for col = 1, numCols do
         for _, study in ipairs(studies) do
             wikitable = wikitable .. ' || ' .. row * col
             local cellValue = study[row.key] or ""
            if (row.rotate) then
cellValue =  p.template(frame, "VerticalText", cellValue)
else
end
wikitable = wikitable .. '! ' .. cellValue .. '\n'
         end
         end
         wikitable = wikitable .. '\n'
end
 
    -- Column headers: Biomarker and System
    wikitable = wikitable .. '|-\n'
    wikitable = wikitable .. '! System !! Biomarker !! Count '
    for _, study in pairs(studies) do
         wikitable = wikitable .. ' !! ' .. p.template(frame, "pmid", study.pmid)
end
wikitable = wikitable .. '\n'
 
    -- Generate rows for each biomarker
    for _, system in ipairs(biomarkers) do
    for _, bm in ipairs(system.data) do
        wikitable = wikitable .. '|-\n'
        wikitable = wikitable .. '| '  .. system.system .. ' || ' .. bm.name
       
        local count = 0
        for _, study in ipairs(studies) do
        if study.biomarkers[bm.key] ~= nil then
    count = count + 1
        end
end
        wikitable = wikitable .. string.format(' || %d', count)
       
        for _, study in ipairs(studies) do
            -- Retrieve data value for the current cell, using the nested structure
            local cellValue = study.biomarkers[bm.key] or ""
        if cellValue == "x" then
        cellValue = 'style="background-color:gray; color: transparent;" | ' .. cellValue
        elseif cellValue ~= "" then
        cellValue = 'style="background-color:gray;" | ' .. cellValue
            end
            wikitable = wikitable .. ' || ' .. cellValue
        end
wikitable = wikitable .. '\n'
    end
     end
     end


     -- Tabelle schließen
     -- End of the table
     wikitable = wikitable .. '|}'
     wikitable = wikitable .. '\n|}'
 
     return wikitable
     return wikitable
end
end


return p
return p