MediaWiki API result

This is the HTML representation of the JSON format. HTML is good for debugging, but is unsuitable for application use.

Specify the format parameter to change the output format. To see the non-HTML representation of the JSON format, set format=json.

See the complete documentation, or the API help for more information.

{
    "batchcomplete": "",
    "continue": {
        "gapcontinue": "Rectangular_hyperbola",
        "continue": "gapcontinue||"
    },
    "query": {
        "pages": {
            "2882": {
                "pageid": 2882,
                "ns": 0,
                "title": "Reality TV format to save the world",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Decision]]\n[[Category:Population behaviours]]\n{{variable}}\n\n== Scope ==\n\nWhat is such a reality TV format that has the following properties?\n* It aims to real action to save the world.\n* It has competing teams that try to save the world more than other teams.\n* It involves the TV audience to the activities.\n* It may also have studio audience.\n* The program is aired in such a way that the actions of the TV audience will affect the next episode.\n* The teams get merit for helping other teams, e.g. by applying the [[respect theory]].\n* Nobody is voted out.\n\n== Definition ==\n\n=== Data ===\n\nA successful TV format must have the following properties.\n* It must show strong feelings.\n* It must have interesting or controversial people.\n* It must create the feeling of involvement in the audience.\n* What is done on screen must look good \n* The audience is actively involved in both actions and in taking positions about the participants.\n\n\nThere is one TV series in Finland that falls in this category: [http://www.operaatiomaa.fi Operaatio maa]. However, the only way the audience could participate was to donate money. The target was 1 million euro, the result seems to fall far behind. Although a million is a large sum on an individual level, it helps little in actually saving the Baltic Sea or other targets of the program.\n\nInstead, the audience should be activated to make an impact on things where the actual money comes from elsewhere, from normal activities of the society. For example, if the audience collects people's promises to make energy efficiency tests for their homes, the actual costs are initially paid by the home-owners, not the audience. And a good thing with this is that the energy efficiency companies get business, and after all the home-owner benefits after increasing the energy efficiency according to the advice, thus saving in energy costs. Even with a modest contribution by the audience, savings worth much more than a million euro can be achieved.\n\n\nA successful environmental campaign involving the audience should have the following properties.\n* The audience has a strong feeling of participation.\n* The audience can clearly see that their participation makes a difference.\n* The problems tackled should be real problems.\n* The problems tackled should be perceived as real problems by the audience.\n* If possible, the problems should be attacked using a lever approach (e.g. instead of making the audience to start composting themselves, to make the audience to contact their municipality to improve waste management).\n\nIn Operaatio maa, the most popular topic by far was the Baltic Sea. It seems to be close and familiar and therefore a good target for the audience. In contrast, the biogas facilities in Nepal were the least interesting, possibly because the audience does not see the importance of fuel choice and methane emissions. The intermediately interesting topic was wind energy in Madagaskar. Wind energy has a good image, but Madagaskar is not close to the hearts of the audience.\n\n=== Causality ===\n\n* [[Respect theory]].\n\n== Result ==\n\nChanging the ways the world works is a very slow process. It is unlikely that visible difference can be seen during the lifespan of the TV series. Instead, the program must be able do demonstrate some surrogate impact that is intuitively a good proxy of the real thing. For example, it is unlikely that any laws ban be passed because of the audience pressure on politicians. But is could be possible to get the politicians make promises about how they will promote a law or vote in the process. These can be observed afterwards. Looking at politicians as individuals also makes the process more interesting and personal.\n\nPossible topics for the reality TV show:\n* A large-scale application of energy efficiency tests, guidance, and  subsidised investments. Targets groups: home-owners, energy consultants, the government.\n* Participation in the [[COP-15]] greenhouse gas [[ETS|emission trade system]].\n\n==See also==\n\n\n==References==\n\n<references/>"
                    }
                ]
            },
            "5339": {
                "pageid": 5339,
                "ns": 0,
                "title": "Recommended R functions",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Open assessment]]\n[[Category:Opasnet]]\n[[Category:R tool]]\n[[Category:Contains R code]]\n{{method|moderator=Jouni|stub=Yes}}\n'''Recommended R functions''' describes good practices for writing R code. The code should be short, straightforward to understand, efficient to run, and similar to everyone else's code.\n\n==Question==\n\nWhat are good practices for writing R code? The code should be short, straightforward to understand, efficient to run, and similar to everyone else's code.\n\n==Answer==\n\n===Recommended structures===\n\n* When possible, use data.frames rather than arrays, tables or lists.\n* Standard columns for data.frames:\n** id: row identifier in the ''res'' table of [[Opasnet Base]]. Usually not needed and this can be sliced away.\n** obs: row identifier in a data table or one uploaded piece of data. Technically, a piece of data that has the same series_id in [[Opasnet Base]]. \n** iter: identifier of the iteration in a Monte Carlo simulation.\n** There are several standard indices in [[Opasnet Base]] such as Year, Sex, Age, Lo (longitude), La (latitude),... If possible, use these names. For a full reference, see [[Special:Opasnet Base Indices|Opasnet Base Indices]].\n** Result: the actual result of the object, typically numeric. There are also other columns used for results, namely\n*** Result.Text: in Opasnet Base, results that are in text format are stored in this column, and\n*** Freq: when tapply() function is used, the summarised result is given in Freq column.\n** Unit: If the unit can be different at different rows, a separate column Unit is needed.\n** Description: Description can contain any descriptive information about the row. It is not used in calculations.\n* For health impacts, there are standard tables to be used. For details, see [[Health impact assessment]].\n* For time tracking of working hours, there are standard tables to be used. For details, see [[:op_fi:Aikakone]].\n* For listing several similar tables that should be bound rowwise, use standard tables described in [[Using summary tables]].\n\n===Recommended generic functions===\n\n{| class=\"wikitable sortable\" {{prettytable}}\n|+ '''Recommended functions and operations.\n|----\n! What to do || Functions to use routinely|| Functions to avoid except in special cases|| Examples and description\n|----\n| Manipulate data || data.frame || array || \n|----\n| Draw raphs || ggplot, plot || || ggplot requires library(ggplot2)\n|----\n| Summarise data along a criterion || tapply || ||\n|----\n| Join two data.frames || merge || IntArray ||\n|----\n| Add rows to a data.frame || rbind || ||\n|----\n| Add columns to a data.frame || cbind || ||\n|----\n| Transform a table from long to wide or vice versa || reshape || ||\n|----\n| Get data from [[Opasnet Base]] || op_baseGetData || || Requires library(OpasnetBaseUtils) <br>> op_baseGetData(\"opasnet_base\", \"Op_en4523\")[, -c(1,2)] # Gets the object with identifier Op_en4523 and slices columns 1 and 2 (id, obs) away.\n|----\n| Get index values from [[Opasnet Base]] || op_baseGetLocs || || Requires library(OpasnetBaseUtils)\n|----\n| Write data to [[Opasnet Base]] || op_baseWrite || || Requires library(OpasnetBaseUtils). Only works from a THL computer, not [[R-tools]]\n|----\n| Slicing R objects || data[rows, cols], data$col || || This is not a function but rather a list of practical ways of slicing an object.\n|----\n| || match  || ||\n|----\n| ||ifelse   || ||\n|----\n| ||is.na   || ||\n|----\n| ||colnames   || ||\n|----\n| Convert between data types || as.numeric, as.character, as.factor || ||\n|----\n| Convert between object types || as.data.frame, as.table || ||\n|----\n|}\n\n===Recommended tailored functions===\n\n'''Code tailoredfunctions:\n* '''multivarplot''' produces a graph for multiple variables along the same X axis (usually a timeline).\n\n<rcode name=\"tailoredfunctions\">\n##### multivarplot produces a graph for multiple variables along the same X axis (usually a timeline). Parameters:\n#     a: Data.frame that has three columns: DateTime = x axis value, TagName = name of the variable, and Value = y axis value for the variable.\n#     precision: a smoothing parameter (0 = no smoothing)\n#     timeline: TRUE if DateTime has POSIXct format, FALSE if real number.\n\nmultivarplot <- function(a, precision = 0, timeline = FALSE) {\n\tpar(mar=c(5, length(levels(a$TagName)) * 3.5 + 1.5, 4, 4) + 0.1)\n\t\n\tx <- 0\n\t\n\tfor (i in levels(a$TagName)) {\n\t\tif(i != levels(a$TagName)[1]) par(new = TRUE)\n\t\tplot(if(precision == 0) list(x = a$DateTime[a$TagName == i], y = a$Value[a$TagName == i]) else loess.smooth(a$DateTime[a$TagName == i], a$Value[a$TagName == i], \n\t\t\tdegree = 1, span = precision), axes = FALSE, xlab = \"\", ylab = \"\", type = \"l\", col = rainbow(length(levels(a$TagName)))[x + 1], main = \"\", \n\t\t\txlim = c(min(a$DateTime), max(a$DateTime)), ylim = c(min(a$Value[a$TagName == i]) - sd(a$Value[a$TagName == i]) * \n\t\t\t0.1, max(a$Value[a$TagName == i]) + sd(a$Value[a$TagName == i]) * 0.1))\n\t\taxis(2, col = rainbow(length(levels(a$TagName)))[x + 1],lwd = 2, line = x * 3.5)\n\t\tmtext(2, text = i, line = x * 3.5 + 2, col = rainbow(length(levels(a$TagName)))[x + 1])\n\t\tx <- x + 1\n\t}\n\t\n\tif(timeline){axis.POSIXct(1, a$DateTime)} else {axis(1, a$DateTime)}\n\tmtext(\"Time\", side = 1, col = \"black\", line = 2)\n}\n</rcode>\n\n==Rationale==\n\nBased on experience and testing.\n\n==See also==\n\n* [[OpasnetBaseUtils]]\n* [[R-tools]]\n* [[A Tutorial on R]]\n* [[List of R functions]]\n\n==References==\n\n<references/>\n\n==Related files==\n\n{{mfiles}}"
                    }
                ]
            }
        }
    }
}