http://fi.opasnet.org/fi-opwiki/api.php?action=feedcontributions&user=Teemu+R&feedformat=atom
Opasnet Suomi - Käyttäjän muokkaukset [fi]
2024-03-29T11:14:14Z
Käyttäjän muokkaukset
MediaWiki 1.29.0
http://fi.opasnet.org/fi-opwiki/index.php?title=Luo_uusia_sivuja&diff=34481
Luo uusia sivuja
2017-08-30T15:25:46Z
<p>Teemu R: </p>
<hr />
<div>[[Luokka:Opasnet]]<br />
{|{{prettytable}}<br />
|-<br />
|width="50%" style="background-color: #ECE8FF;"|<br />
;Muuttuja: Muuttujat ovat arviointien peruselementtejä. [[:op_en:Variable|Täältä voit lukea lisätietoa muuttujasta (englanniksi)]].<br />
<br />
<br />
<br />
<inputbox><br />
type=create<br />
break=yes<br />
width=50<br />
buttonlabel=Luo muuttuja<br />
align=left<br />
preload=template:muuttujanrakenne<br />
</inputbox><br />
|style="background-color: #FFE8FF;"|<br />
;Arviointi: Arviointi on prosessi jonka avulla pyritään tuottamaan tietoa päätöksenteon tukemiseksi jostakin tietystä reaalimaailman ilmiöstä. [[:op_en:Assessment|Täältä voit lukea lisätietoa arvioinnista (englanniksi)]].<br />
<br />
<inputbox><br />
type=create<br />
break=yes<br />
width=50<br />
buttonlabel=Luo arviointi<br />
align=left<br />
preload=template:arvioinninrakenne<br />
</inputbox><br />
|-<br />
|style="background-color: #ECFFE8;"|<br />
;Ensyklopedia artikkeli: Ensyklopedia artikkelit ovat sivuja jotka eivät ole varsinaisia arvioinnin kohteita eikä myöskään tiedonmuruja. Ensyklopedia artikkeleiden muoto on vapaa ja ne muistuttavat luonteeltaan Wikipedia -muotoista tietoa. [[:Luokka:Ensyklopedia artikkeli|Täältä voit lukea lisätietoa ensyklopedia artikkeleista]].<br />
<br />
<inputbox><br />
type=create<br />
break=yes<br />
width=50<br />
buttonlabel=Luo ensyklopedia<br />
align=left<br />
preload=template:ensyklopedianrakenne<br />
</inputbox><br />
|<br />
;Tyhjä sivu: Käytä tätä jos haluat luoda tyhjän luokittelemattoman sivun ilman muotoiluja. Myöhemmin sivu voidaan kuitenkin määrittää joksikin Opasnetin sivutyypeistä.<br />
<br />
<br />
<br />
<inputbox><br />
type=create<br />
break=yes<br />
width=50<br />
buttonlabel=Luo sivu<br />
align=left<br />
</inputbox><br />
|}<br />
<br />
__NOTOC__<br />
__NOEDITSECTION__<br />
[[op_en:Create article]]</div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=J%C3%A4rjestelm%C3%A4viesti:Common.js&diff=34480
Järjestelmäviesti:Common.js
2017-08-30T15:20:29Z
<p>Teemu R: </p>
<hr />
<div>/**<br />
* Collapsible tables<br />
*<br />
* Allows tables to be collapsed, showing only the header. See [[Wikipedia:NavFrame]].<br />
* @maintainer [[User:R. Koot]] (on Wikipedia)<br />
*/<br />
<br />
var autoCollapse = 2;<br />
var collapseCaption = 'hide';<br />
var expandCaption = 'show';<br />
<br />
function hasClass( element, className ) {<br />
var Classes = element.className.split( " " );<br />
for ( var i = 0; i < Classes.length; i++ ) {<br />
if ( Classes[i] == className ) {<br />
return true;<br />
}<br />
}<br />
return false;<br />
}<br />
<br />
function collapseTable( tableIndex ) {<br />
var i;<br />
var Button = document.getElementById( 'collapseButton' + tableIndex );<br />
var Table = document.getElementById( 'collapsibleTable' + tableIndex );<br />
<br />
if ( !Table || !Button ) {<br />
return false;<br />
}<br />
<br />
var Rows = Table.getElementsByTagName( 'tr' );<br />
<br />
if ( Button.firstChild.data == collapseCaption ) {<br />
for ( i = 1; i < Rows.length; i++ ) {<br />
Rows[i].style.display = 'none';<br />
}<br />
Button.firstChild.data = expandCaption;<br />
} else {<br />
for ( i = 1; i < Rows.length; i++ ) {<br />
Rows[i].style.display = Rows[0].style.display;<br />
}<br />
Button.firstChild.data = collapseCaption;<br />
}<br />
}<br />
<br />
function createCollapseButtons() {<br />
var i;<br />
var tableIndex = 0;<br />
var NavigationBoxes = {};<br />
var Tables = document.getElementsByTagName( 'table' );<br />
<br />
for ( i = 0; i < Tables.length; i++ ) {<br />
if ( hasClass( Tables[i], 'collapsible' ) ) {<br />
NavigationBoxes[ tableIndex ] = Tables[i];<br />
Tables[i].setAttribute( 'id', 'collapsibleTable' + tableIndex );<br />
<br />
var Button = document.createElement( 'span' );<br />
var ButtonLink = document.createElement( 'a' );<br />
var ButtonText = document.createTextNode( collapseCaption );<br />
<br />
Button.style.styleFloat = 'right';<br />
Button.style.cssFloat = 'right';<br />
Button.style.fontWeight = 'normal';<br />
Button.style.textAlign = 'right';<br />
Button.style.width = '6em';<br />
<br />
ButtonLink.setAttribute( 'id', 'collapseButton' + tableIndex );<br />
ButtonLink.setAttribute( 'href', 'javascript:collapseTable(' + tableIndex + ');' );<br />
ButtonLink.appendChild( ButtonText );<br />
<br />
Button.appendChild( document.createTextNode( '[' ) );<br />
Button.appendChild( ButtonLink );<br />
Button.appendChild( document.createTextNode( ']' ) );<br />
<br />
var Header = Tables[i].getElementsByTagName( 'tr' )[0].getElementsByTagName( 'th' )[0];<br />
/* only add button and increment count if there is a header row to work with */<br />
if (Header) {<br />
Header.insertBefore( Button, Header.childNodes[0] );<br />
tableIndex++;<br />
}<br />
}<br />
}<br />
<br />
for ( i = 0; i < tableIndex; i++ ) {<br />
if ( hasClass( NavigationBoxes[i], 'collapsed' ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], 'autocollapse' ) ) ) {<br />
collapseTable( i );<br />
}<br />
}<br />
}<br />
<br />
$( createCollapseButtons );<br />
<br />
var customizeToolbar = function () {<br />
<br />
$('#wpTextbox1').wikiEditor('addToToolbar', {<br />
section: 'advanced', <br />
group: 'format', <br />
tools: {<br />
"strikethrough": {<br />
label: 'Strike', <br />
type: 'button', <br />
icon: '//upload.wikimedia.org/wikipedia/commons/3/30/Btn_toolbar_rayer.png', <br />
action: {<br />
type: 'encapsulate', <br />
options: {<br />
pre: "<s>", <br />
post: "</s>" <br />
}<br />
}<br />
}<br />
}<br />
});<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
section: 'advanced', <br />
group: 'format', <br />
tools: {<br />
"hline": {<br />
label: 'Horizontal line', <br />
type: 'button', <br />
icon: '//bits.wikimedia.org/skins-1.5/common/images/button_hr.png', <br />
action: {<br />
type: 'encapsulate', <br />
options: {<br />
pre: "----", <br />
ownline: true <br />
}<br />
}<br />
}<br />
}<br />
});<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
section: 'advanced', <br />
group: 'format', <br />
tools: {<br />
"underline": {<br />
label: 'Underline', <br />
type: 'button', <br />
icon: 'http://www.opasnet.org/pictures/underline.png', <br />
action: {<br />
type: 'encapsulate', <br />
options: {<br />
pre: "<u>",<br />
peri: "Underlined text",<br />
post: "</u>" <br />
}<br />
}<br />
} <br />
}<br />
});<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
section: 'advanced', <br />
group: 'format', <br />
tools: {<br />
"center": {<br />
label: 'Center', <br />
type: 'button', <br />
icon: 'http://www.opasnet.org/pictures/centerbut.png', <br />
action: {<br />
type: 'encapsulate', <br />
options: {<br />
pre: "<center>",<br />
peri: "Centered text",<br />
post: "</center>" <br />
}<br />
}<br />
}<br />
}<br />
});<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
section: 'advanced', <br />
group: 'format', <br />
tools: {<br />
"attack": {<br />
label: 'Attack', <br />
type: 'button', <br />
icon: 'http://www.opasnet.org/pictures/attack.png', <br />
action: {<br />
type: 'encapsulate', <br />
options: {<br />
pre: "{{attack|# |",<br />
peri: "Enter your attacking argumentation between these two bars",<br />
post: "|--~~"+"~~}}" <br />
}<br />
}<br />
}<br />
}<br />
});<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
section: 'advanced', <br />
group: 'format', <br />
tools: {<br />
"defend": {<br />
label: 'Defend', <br />
type: 'button', <br />
icon: 'http://www.opasnet.org/pictures/defend.png', <br />
action: {<br />
type: 'encapsulate', <br />
options: {<br />
pre: "{{defend|# |",<br />
peri: "Enter your defending argumentation between these two bars",<br />
post: "|--~~"+"~~}}" <br />
}<br />
}<br />
}<br />
}<br />
});<br />
<br />
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {<br />
section: 'advanced', <br />
group: 'format', <br />
tools: {<br />
"comment": {<br />
label: 'Comment', <br />
type: 'button', <br />
icon: 'http://www.opasnet.org/pictures/comment.png', <br />
action: {<br />
type: 'encapsulate', <br />
options: {<br />
pre: "{{comment|# |",<br />
peri: "Enter your comment between these two bars",<br />
post: "|--~~"+"~~}}" <br />
}<br />
}<br />
}<br />
}<br />
});<br />
<br />
}<br />
<br />
/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar … */<br />
if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {<br />
mw.loader.using( 'user.options' ).then( function () {<br />
// This can be the string "0" if the user disabled the preference ([[phab:T54542#555387]])<br />
if ( mw.user.options.get( 'usebetatoolbar' ) == 1 ) {<br />
$.when(<br />
mw.loader.using( 'ext.wikiEditor.toolbar' ), $.ready<br />
).then( customizeToolbar );<br />
}<br />
} );<br />
}</div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Helsingin_energiap%C3%A4%C3%A4t%C3%B6ksen_tulokset_2015&diff=30945
Helsingin energiapäätöksen tulokset 2015
2015-10-25T15:26:11Z
<p>Teemu R: /* Terveys- ja ilmastovaikutukset */</p>
<hr />
<div><noinclude><br />
TYÖPAPERI 24/2015<br />
<br />
Jouni Tuomisto, Julia Rintala, Pauli Ordén, Matleena Tuomisto ja Teemu Rintala<br />
<br />
'''Helsingin energiapäätös 2015. Avoin arviointi terveys-, ilmasto- ja muista vaikutuksista<br />
<br />
(c) Kirjoittajat ja Terveyden ja hyvinvoinnin laitos<br />
<br />
Työpaperi on julkaistu tekijänoikeuslisenssillä CC-BY 4.0. Saat vapaasti käyttää, kopioida ja muokata teosta kunhan viittaat lähteeseen asianmukaisesti. Suositeltu viittaus:<br />
: Jouni Tuomisto, Julia Rintala, Pauli Ordén, Matleena Tuomisto ja Teemu Rintala. Helsingin energiapäätös 2015. Avoin arviointi terveys-, ilmasto- ja muista vaikutuksista. Terveyden ja hyvinvoinnin laitoksen työpapereita 2015_24. Helsinki 2015.<br />
<br />
Kannen kuva:<br />
<br />
:Tuotenumero TYÖ2015_24<br />
:ISBN 978-952-302-544-8 (verkko)<br />
:ISSN 2323-363X<br />
:http://urn.fi/URN:ISBN:978-952-302-544-8<br />
<br />
== Esipuhe ==<br />
<br />
Helsingin kaupunki on tekemässä isoja energiapäätöksiä lähiviikkoina, kun kaupunginvaltuuston päätettäväksi tulee kysymys uudesta Vuosaaren biopolttoainevoimalasta, vanhojen voimaloiden korjaamisesta tai hajautettujen biolämpökeskusten rakentamisesta. Päätös on erittäin monimutkainen ja haasteellinen ja tarvitsee tuekseen kaiken saatavilla olevan tietotuen.<br />
<br />
Terveyden ja hyvinvoinnin laitoksen THL:n tehtävänä on tuottaa tietoa päätöksenteon tueksi terveyteen ja hyvinvointiin liittyvistä asioista. Yksi tärkeä osa-alue on ympäristöterveys eli ympäristössa olevien tekijöiden haitalliset ja hyödylliset vaikutukset ihmisen terveyteen. Suomessa ilmansaasteet ja erityisesti pienhiukkaset ovat suurin ympäristöterveysriski, ja ne aiheuttavat lähes parituhatta ennenaikaista kuolemantapausta eli yli 12000 menetettyä tervettä elinvuotta vuodessa. <br />
<ref>Asikainen ym. Ympäristöaltisteisiin liittyvä tautitaakka Suomessa. Ympäristö ja Terveys 5/2013. http://fi.opasnet.org/fi/Tautitaakka_Suomessa</ref> <br />
<br />
Koska energiantuotanto on yksi tärkeistä pienhiukkaslähteistä, on perusteltua tarkastella isoja energiapäätöksiä myös terveyden kannalta. Energiantuotannon toinen tärkeä terveyteen vaikuttava tekijä on kasvihuonekaasupäästöt, jotka vaikuttavat omalta osaltaan ilmastonmuutokseen ja erittäin monimutkaisten syy-seurausketjujen kautta globaaliin terveyteen. Käytännössä kasvihuonekaasupäästöjen terveysvaikutuksia ei pystytä arvioimaan, mutta niiden päästöjen arviointi puolestaan on varsin tarkkaa ja sitä voidaankin käyttää myös terveyden epäsuorana mittarina.<br />
<br />
Helsingin energiaratkaisuja on mietitty useita vuosia, ja matkan varrella on esitetty lukuisia erilaisia ratkaisuvaihtoehtoja. Näistä useimmat on hylätty jatkotarkasteluista, mutta systemaattista arviointia niiden hyödyistä ja haitoista ei ole julkaistu. Tämä estää järkiperäistä keskustelua tärkeästä aiheesta, joka on vaikea muutenkin ja erityisesti ilman yhdenmukaista ja laajaa vaihtoehtojen arviointia.<br />
<br />
Näistä syistä THL aloitti toukokuussa 2015 terveys-, ilmasto- ja muiden vaikutusten arvioinnin Opasnet-verkkotyötilassa. Työ tehtiin alusta saakka avoimesti, ja kaikki tiedot, mallit ja tulokset koottiin kesän aikana arviointia varten rakennetulle sivustolle kaikkien nähtäväksi ja kommentoitavaksi. Arvioinnin etenemisestä pyrittiin myös aktiivisesti tiedottamaan energia-alan asiantuntijoita, Helsingin päättäjiä ja energia-asioista kiinnostuneita kansalaisia ja kansalaisjärjestöjä. 17.8. järjestettiin keskustelutilaisuus asiantuntijoille, ja arviointia kehitettiin edelleen saadun palautteen perusteella. Päättäjille ja yleisölle suunnattu keskustelu- ja tiedotustilaisuus järjestettiin 11.9., ja vielä sielläkin nousi tärkeitä näkökohtia, jotka pyrittiin ottamaan mukaan tähän loppuraporttiin.<br />
<br />
Arviointi perustuu energiatasemalliin, jossa rakennuskannan lämmityksen ja kulutussähkön tarve pyritään ennakoimaan vuoteen 2065 ja lämmitysenergia tuottamaan kaukolämmön avulla erilaisia mahdollisiman kustannustehokkaista ratkaisuja käyttäen. Näiden ratkaisujen terveys-, ilmasto- ja kustannusvaikutuksia arvioidaan voimaloiden käyttöaktiivisuuden, ominaispäästöjen, polttoaineen hinnan ja muiden tietojen avulla.<br />
<br />
Arvioinnin päätelmät perustuvat tämän mallin antamiin tuloksiin ja näistä tuloksista käytyihin keskusteluihin eri osapuolten kesken. Kaikki päätelmät ja suositukset ovat kirjoittajien omia, eivätkä ne välttämättä edusta sen enempää THL:n kuin keskusteluun osallistuneiden tahojenkaan näkemyksiä. Ne ovat kuitenkin tuoneet raportin sisältöön korvaamattoman arvokkaan lisän.<br />
<br />
Lokakuussa 2015 Las Vegasissa, Tampereella, Espoossa, Turussa ja Kuopiossa<br />
<br />
Kirjoittajat<br />
<br />
== Tiivistelmä ==<br />
<br />
Etunimi Sukunimi. Julkaisun nimi suomeksi. Terveyden ja hyvinvoinnin laitos (THL). Työpaperi 24/2015. XXX sivua. Helsinki 2015.<br />
<br />
ISBN 978-952-302-544-8 (verkkojulkaisu)<br />
<br />
</noinclude><br />
{{tiivistelmä<br />
|kysymys = Helsinki tekee syksyllä 2015 voimalaitoksista ison energiapäätöksen, joka vaikuttaa energiantuotantoon vuosikymmeniä. Poliittinen keskustelu aiheesta on aktiivista, mutta määrällisistä, analyyttisistä arvioinneista on pulaa, erityisesti sellaisista, joissa katsottaisiin myös terveys- ja ilmastovaikutuksia. Kuinka varmistetaan jatkuva ja riittävä lämmön ja sähkön tarjonta Helsingissä vuoden ympäri kaikissa oloissa seuraavan viidenkymmenen vuoden ajan? Tähän tarvitaan energiatasearviointia, johon tulee sisällyttää kustannukset, ilmastopäästöt, terveys, toimitusvarmuus ja kestävä kasvu. Kuinka hajautettu energiantuotanto ja energiatehokkuuskorjaukset voisivat parantaa tilannetta? Tämän jälkimmäisen kysymyksen esitti kaupunginvaltuusto keväällä 2015, ja toinen arviointi (Helsingin kaupungin ja Helen Oy:n koordinoimana) vastaa siihen syyskuussa 2015.<br />
|vastaus = Terveyden ja hyvinvoinnin laitos ([[THL]]) teki [[avoin arviointi|avointa arviointia]] Opasnet-verkkotyötilassa kesällä 2015 tavoitellen [[jaettu ymmärrys|jaettua ymmärrystä]]. Kehitimme ''Sofia''-arviointimallin arvioimaan erilaisten ehdotettujen Helsingin energiavaihtoehtojen toteutettavutta ja useita eri vaikutuksia. Sofia on energiatasemalli, joka optimoi energiantuotannon kustannuksia varmistaen kaukolämmön riittävyyden helsinkiläisistä voimaloista jokaiselle päivälle. Tilannetta seurataan vuodesta 1985 vuoteen 2065. Sofia katsoo myös muuta lämmön ja sähkön kulutusta, mutta ei kuitenkaan teollisuutta ja liikennettä. Tasapainotetun energiantuotannon perusteella Sofia laskee polttoaineiden ja muut kustannukset sekä kasvihuonekaasu- ja pienhiukkaspäästöt voimaloista ja muista energiaprosesseista. Malli voi tarkastella useita skenaarioita ja siten verrata erilaisten toimenpiteiden (kuten enrgiaremonttien tai uusien voimaloiden) vaikutuksia kokonaistilanteeseen.<br />
<br />
Sofia osaa laskea rakennuskannan suuruuden ja energiankäytön perustuen keskimääräiseen energiatehokkuuteen suhteessa rakennuspinta-alaan ja ulkolämpötilaan. Se myös hakee edullisimman voimaloiden käyttötavan vuoden joka päivän tilanteelle koko arvioinnin tarkastelujaksolle. Tällä hetkellä Sofia ehdottaa Vuosaari A&B -voimaloiden käyttöä pääasiallisena energianlähteenä, mutta jos Vuosaari C -biovoimala rakennetaan, A&B-yksiköiden merkitys vähenee. Tällaiset suositukset luonnollisesti perustuvat siihen dataan, jota Sofialla kullakin hetkellä on käytössään, ja sen suositukset todennäköisesti muuttuvat, kun tieto lisääntyy ja tarkentuu. Me kannustamme sinua selaamaan arvioinnin sivuja Opasnetissä. Kaikki data ja kaikki mallin osat ovat avoimesti ja koneluettavasti saatavilla (voit ajaa Sofiaa omallakin koneella, jos asennat R-ohjelman ja siihen OpasnetUtils-paketin). Kaikki palaute, kritiikki ja korjausehdotukset ovat tervetulleita.<br />
}}<br />
<noinclude><br />
<br />
Avainsanat: Helsinki, energiantuotanto, ilmastonmuutos, terveysvaikutukset, pienhiukkaset, voimalaitos, biopolttoaine, kaukolämpö, energiansäästö<br />
<br />
== Abstract ==<br />
<br />
Firstname Lastname. Julkaisun nimi suomeksi [Name of the Publication]. National Institute for Health and Welfare (THL). Discussionpaper 24/2015. XXX pages. Helsinki, Finland 2015.<br />
:ISBN 978-952-302-544-8 (online publication)<br />
<br />
{{tiivistelmä<br />
| kysymys = This website contains an on-going impact assessment to support the decision making on how energy should be produced in Helsinki in the future. The City of Helsinki is making a major decision about power plants in 2015, and it will affect the energy supply in Helsinki for decades. Political discussion is active, but quantitative, analytical assessments are scarce, especially those that are also looking at health and climate impacts. How to continuously supply energy for the heating and electricity needs of Helsinki in all circumstances all year round for the next fifty years? An energy balance assessment is needed with several output indicators, such as cost, climate emissions, health, supply security, and domestic growth. How can decentralised energy supply and energy efficiency renovations improve the situation? The latter question was asked by the city council in spring 2015, and an other assessment (coordinated by the City of Helsinki and Helen energy company) is ongoing to also answer that question by September 2015.<br />
| vastaus = The National Institute of Health and Welfare [[THL]] is performing an [[open assessment]] in Opasnet web-workspace during summer 2015. We are developing an assessment model (called ''Sofia'') to estimate feasibility and impacts of several suggested solutions to the Helsinki energy decision. Sofia is an energy balance model that optimises the costs of energy production in a way that the district heat demand is met every day with appropriate supply from the power plants in Helsinki. The situation is followed from 1985 to 2065. Sofia is looking also at other heat and electricity consumption, but not traffic or industry. Based on the balanced energy supply, Sofia estimates the fuel and other costs as well as greenhouse gas and fine particle emissions for power plants and other energy processes. The model can handle several scenarios that can be compared with each other to see the impacts of different actions (such as building renovations or new power plants) on the overall situation.<br />
<br />
Sofia is able to calculate the building stock and its energy use based on average energy intensity per floor area and outdoor temperature. It also finds the optimal use of existing power plants for different situations for the whole timespan of the assessment. The model suggests how the energy demand could be covered in the future when different impacts are considered. Production costs are optimised, but also other criteria could be used. Currently, Sofia suggests the use of Vuosaari A&B gas plant as the main energy source of energy, but if Vuosaari C biofuel plant was built, the importance of Vuosaari A&B would diminish. Such guidance is naturally based on the data that Sofia currently has, and her recommendations are likely to change when more and more precise data is collected. According to the principles of open assessment, we invite anybody who is interested in Helsinki's energy decision to participate and browse through the pages of this assessment. All data and all parts of the model are openly available in machine-readable format. All comments, criticism, and update suggestions are welcome. <br />
}}<br />
<br />
Keywords: Helsinki, energy production, climate change, health effects, fine particles, power plants, biofuels, district heating, energy saving<br />
<br />
= Skenaariot ja tulokset =<br />
<br />
== Tarkastellut skenaariot ==<br />
<br />
Arvioinnissa käytettävää energiatasemallia kutsutaan Sofiaksi. Mallissa tarkastellaan kahta eri päätöstä. Toisaalta voidaan tehdä energiansäästöä edistäviä päätöksiä kuten rakennuskannan energiaparannuksia. Toisaalta voidaan valita millä tavalla tarvittava energia tuotetaan. Ensimmäinen päätös on tärkeä taustatieto, mutta arvioinnin mielenkiinto kohdistuu nimenomaan voimalaratkaisuihin. Molemmat päätökset esitellään tässä vaihtoehtoineen.<br />
<br />
=== Energiansäästöpolitiikka ===<br />
<br />
Energiansäästöä tarkastellaan neljän eri vaihtoehdon avulla, joissa energiansäästöön tartutaan erilaisella tarmolla. Aivan työn loppuvaiheessa neljänneksi vaihtoehdoksi nostettiin WWF:n lokakuussa tekemä ehdotus.<br />
<br />
; Tätä menoa (business as usual, BAU): Rakennuskannan energiatehokkuus paranee korjausrakentamisen sekä uusien rakennusten energiatehokkuuden paranemisen avulla. Kummassakin oletetaan trendi, joka vastaa viimeaikaista kehitystä.<br />
; Kohtuullinen energiansäästö: Korjausrakentamista tehdään yhden prosentin sijasta kahteen prosenttiin yli 30-vuotiaita taloja. Energiaremontit toteutetaan kuten nykyään.<br />
; Täysi energiansäästö: Energiaremonttien määrä nostetaan neljään prosenttiin vuodessa. Energiakorjauksia tehdessä oletetaan, että 35 prosentissa tapauksia tehdään tehokkaampi remontti kuin nykyään. Lisäksi uusista taloista 25 % on energiatehokkaampia kuin tätä menoa -vaihtoehdossa.<br />
; WWF-energiansäästö: WWF julkaisi 8.10.2015 oman ehdotuksensa Helsingin energiaratkaisuksi. Se perustuu tehokkaaseen energiansäästöön ja sen seurauksena hiilivoiman vähentämiseen. Säästö syntyy nopeutetuista energiaremonteista (2.5 % vuodessa), tehokkaammista remonteista 10 % tapauksista sekä vanhojen energiatehottomien talojen purkamisesta (1 % vuodessa).<ref>WWF. Helsingin energiapäätös. Energiansäästö on polttoainevaihtoehdoista paras. WWF, 8.10.2015 http://wwf.fi/mediabank/7784.pdf</ref><br />
<br />
=== Voimalaitospolitiikka ===<br />
<br />
Helsingissä on kymmeniä erilaisia mahdollisia energiantuotantotapoja, ja näistä voidaan yhdistellä satoja erilaisia yhdistelmiä tai skenaarioita. Tässä arvioinnissa tarkastelemme kahta eri sarjaa skenaarioita. Ensimmäinen sarja on kokoelma erilaisia ehdotettuja politiikkoja, joiden tarkasteleminen sellaisenaan on päätöksenteon kannalta kiinnostavaa. Toinen sarja on teknisempi, ja siinä yritettiin löytää eri voimalaitosratkaisujen keskinäistä kustannustehokkuutta eikä niinkään toteuttamiskelpoisia ratkaisuvaihtoehtoja. Sarjat olivat nämä:<br />
<br />
<br />
'''Ehdotetut politiikat'''<br />
<br />
Luvussa ''Vaikutusarviointi'' on taulukossa yksityiskohtaisesti esitetty eri vaihtoehtojen sisältämät voimalat. Tässä niitä vain kuvaillaan lyhyesti.<br />
<br />
; Tätä menoa (BAU): Olemassaolevia voimaloita kunnostetaan biopolttoaineille ja koetetaan käyttää niitä mahdollisimman pitkään.<br />
; Prosessilämpö (Process heat): Hyödynnetään mahdollisimman paljon eri prosesseista syntyvää hukkalämpöä. Tärkeimmät lämmönlähteet ovat Nesteen Porvoon jalostamo sekä Loviisaan rakennettava ydinvoimala, joka tuottaa yhdistettyä sähköä ja kaukolämpöä. Sähkö tuotetaan valtakunnanverkkoon.<br />
; Helenin ehdotus (Helen proposition): Helenin kesäkuussa 2015 julkistama ehdotus, jossa rakennetaan biopolttoaineilla toimivia lämpökeskuksia ja vähitellen luovutaan sähkön ja lämmön yhteistuotannosta. Vaikka vaihtoehto on nimetty tällä tavalla, Helen ei itse asiassa ole suosittelemassa tätä vaan vain toteaa, että tämä on yksi mahdollisuus ja ehdotetuista ehkä vähiten ongelmallinen.<br />
; Minimi-investoinnit (Zero investment): Toteutetaan mahdollisimman vähän uusia rakennushankkeita.<br />
; Hiilineutraali 2050 (Carbon neutral 2050): Vuoteen 2050 mennessä luovutaan kaikesta fossiilisesta polttoaineesta ja korvataan se biopolttoaineilla ja prosessilämmöllä.<br />
; CHP bio: Tuotetaan sähköä ja lämpöä yhteistuotantona erityisesti Vuosaari C -bio-CHP-voimalassa.<br />
; Hajautettu ja meri (Distributed and sea): Lämpö tuotetaan mahdollisimman pitkälle hajautetusti maalämmöllä, ilmalämpöpumpuilla ja isommissa merestä lämpönsä ottavissa lämpöpumppuvoimaloissa.<br />
; Käyttäjä: Nettimallissa käyttäjä voi itse valita ne voimalat, jotka ovat käytössä tässä vaihtoehdossa. Raportin tulokset on ajettu sellaisella yhdistelmällä, joka poikkeaa muista erityisesti siinä, että siihen on lisätty aktiivinen pientalojen lämmittäminen polttopuulla omien takkojen ja uunien avulla. Käytössä olevat voimalat ovat hajautetut biolämpökeskukset, Katri Valan lämpöpumput, Kellosaaren varavoimala, Salmisaari A ja B, pienet öljy- ja kaasulämpökeskukset sekä Vuosaari A, B ja C. <br />
<br />
<br />
'''Tekninen skenaariosarja''' {{attack|# |Olisiko selkeintä jättää tämä kokonaan pois? Ei siitä monta kuvaa ole ja ne ovat vaikeita. Sitä paitsi pitäisi ajaa uudestaan uusilla hinnoilla, ja silloin pudotusjärjestys muuttuu eikä enää vastaa tätä mikä tässä on.|--[[Käyttäjä:Jouni|Jouni Tuomisto]] ([[Keskustelu käyttäjästä:Jouni|keskustelu]]) 23. lokakuuta 2015 kello 04.09 (UTC)}}<br />
<br />
Tämä sarja sisältää lähtökohtaisesti kaikki olemassaolevat ja ehdotetut voimalat. Näitä aletaan skenaario skenaariolta sulkea karkeassa kustannustehokkuusjärjestyksessä parhaista alkaen. Seuraavassa skenaariossa nähdään, mitä jäljelle jääneistä voimaloista ajetaan eniten kustannustehokkuuden optimoimiseksi. On kuitenkin syytä huomata, että tätä skenaariosarjaa ajettaessa polttoaineiden hinnat olivat erilaiset kuin uusimmissa malliajoissa, joihin suurin osa tuloksista perustuu. Teknisissä skenaarioissa oletettiin öljy halvemmaksi ja kivihiili kalliimmaksi, ja tämä näkyy siinä, että pieniä öljylämpökeskuksia ajettiin enemmän ja hiilivoimaloita vähemmän kuin mitä vuosina 2005-2015 on todellisuudessa tapahtunut. Niinpä näihin tuloksiin on syytä suhtautua varauksella. Lisäksi Loviisan energian tuottaminen pelkän sähkön sijasta osittain myös lämpönä sisältää sivuvaikutuksia, joista keskustellaan tarkemmin kohdassa ''Päätelmät''.<br />
<br />
; All1: Kaikki voimalat ovat käytössä.<br />
; Loviisa2: Kaukolämpö tuotetaan pääasiassa Loviisan ydinkaukolämpölaitoksessa. Tässä vaiheessa suljetaan pienet ja vähämerkityksiset voimalat, jotta ne eivät ole hämmentämässä jatkoanalyysien tulkintaa.<br />
; DataAndSea3: Kaukolämpö tuotetaan pääasiassa datakeskusten hukkalämmöstä ja merilämpöpumpuilla. Loviisan ydinkaukolämpöä ei oteta käyttöön.<br />
; NesteAndDeep4: Kaukolämpöä tuotetaan pääsasiassa Nesteen hukkalämmöstä, Vuosaari C -monipolttoainevoimalassa ja syväkairauksesta. Datakeskusten ja meren lämpöä ei hyödynnetä.<br />
; Existing5: Kaukolämpö tuotetaan pääasiassa olemassaolevilla voimaloilla eli Hanasaaren, Salmisaaren ja Vuosaaren CHP-voimaloilla. Vuosaari C:tä ei rakenneta.<br />
; Backup6: Kaukolämpö tuotetaan lähinnä täydennys- ja varavoimaloiksi suunnitelluissa öljy- ja kaasulämpökeskuksissa.<br />
; Lowcost: Tässä vaihtoehdossa ajetaan vain niitä voimaloita, jotka osoittautuivat aiemmissa skenaarioissa kustannustehokkaimmiksi: Loviisan ydinkaukolämpö, datakeskusten hukkalämpö, Katri Valan lämpöpumput, Nesteen jalostamon hukkalämpö, sekä täydennys- ja varavoimana pienet öljylämpökeskukset.<br />
<br />
== Rakennuskannan kehitys ja muut taustatiedot ==<br />
<br />
Rakennusten määrän kasvu vastaa kutakuinkin yleiskaavassa olevaa arviota väestön ja rakennuskannan kasvuksi, eli 42 % lisäystä vuodesta 2010 vuoteen 2050. Kasvu näyttää kuvassa suuremmalta, koska jo puretut rakennukset ovat mallissa ikään kuin niitä ei olisi ikinä ollutkaan. Tämä saa historiallisen kasvun näyttämään todellista suuremmalta. Aikajakso myös jatkuu paljon pitemmälle kuin 2050 ja kasvun oletetaan jatkuvan tasaisena senkin jälkeen.<br />
<br />
Rakennusten energiankulutus on suurin yksittäinen energiankuluttaja Helsingissä, ja siksi erityisesti sitä on syytä tarkastella. Rakennuskannan kasvu lisää energian tarvetta, mutta tarve ei mallin mukaan kasva tai jopa laskee viidenneksen. Tähän on kaksi pääasiallista syytä. Ensinnäkin uudet rakennukset oletetaan hyvin energiatehokkaiksi, joten uusi rakennuskanta lisää kokoaan vähemmän energiankulutusta. Toisaalta vanhaa kantaa remontoidaan, jolloin sen energiatehokkuus paranee ja nykyisen rakennuskannan energiankulutus pienenee. Kuitenkin täysi energiatehokkuuspolitiikka (Energy saving total) on varsin radikaali, joten mallin mukaista energiankulutusta pienempään kulutukseen on hyvin vaikea päästä. Oikeastaan ainoa merkittävä keino on alkaa purkaa nykyistä rakennuskantaa tehottomasta päästä ja rakentaa modernia tehokasta tilalle. Purkamista oletetaan vain WWF-energiansäästö-skenaariossa.<br />
<br />
WWF päätyy omassa arvioissaan siihen, että jopa lähes puolet kaukolämmöntarpeesta voidaan säästää. Meidän mallimme ei ole niin optimistinen. Tärkeimpänä syynä on, että kuuman veden tarpeen oletetaan lisääntyvän suoraan suhteessa väestöön, joka kasvaa runsaasti tarkasteluaikana. Toisaalta Olemme hieman varovaisempia energiakorjauksiin kohdistuvissa oletuksissamme. Tämän eriävän näkemyksen ratkaisemiseksi olisi keskusteluun syytä saada mukaan rakennusalan ammattilaisia, jotka voisivat kriittisesti arvioida eri oletuksia.<br />
<br />
Polttoaineiden hinnat ovat ratkaisevan tärkeä lähtötieto, ja erityisesti niiden välinen hintaero usein ratkaisee sen, mitä voimaloita mallin mukaan kannattaa ajaa ja mitä ei. Energian hinnan ennustaminen viidenkymmenen vuoden päähän on erittäin vaikeaa, jos haluaa olla uskottava. Etsimme arvovaltaisia arvioita Yhdysvalloista ja YK:n Kansainvälisestä energiajärjestöstä IEA:sta, mutta epävarmuus on silti suuri. Nämä arviot olettavat maakaasun hinnan nousevan selvästi muita nopeammin. Tämä johtaa siihen, että kaasuvoimalat eli Vuosaari A ja B sekä pienet kaasulämpökeskukset ovat mallin mukaan kustannustehottomia, eikä niitä pitäisi ajaa. Tämä on syytä pitää mielessä, kun tuloksia tulkitaan.<br />
<br />
Polttoaineiden osalta on myös syytä huomata, että osa niistä on varsin raskaasti verotettuja eli itse asiassa polttoaineen hinta onkin varsin paljon politiikkaa eikä pelkkää epävarmuutta. Tietenkin maailmanmarkkinahinnat saattavat muuttua niin voimakkaasti, että verotusvaikutukset jäävät siinä toiseksi, mutta sellaisia isoja muutoksia emme mallissa oleta.<br />
<br />
<gallery widths=400px heights=350px><br />
<br />
File:Rakennuskannan koko Helsingissä.png|Rakennuskannan koko Helsingissä 1985-2065 lämmitysmuodon mukaan.<br />
File:Helsingin vuotuinen energiantarve.png|Helsingin vuotuinen energiantarve sisältäen sekä lämmityksen (myös muun kuin kaukolämmön) ja sähköntarpeen. Tulokset on jaoteltu Energiansäästöpolitiikan neljän vaihtoehdon mukaan.<br />
File:Energiankulutus verkossa Helsingissä.png|Energiankulutus kaukölämpö-, kaukokylmä- ja sähköverkossa Helsingissä. Ulos myytävä sähkö ei näy tässä.<br />
File:Polttoaineiden verolliset hinnat.png|Polttoaineiden verolliset hinnat olettaen, että verotus ei tulevaisuudessa muutu.<br />
<br />
</gallery><br />
<br />
== Energiantuotanto ==<br />
<br />
Sofia-mallin perustana on energiatase, joka lasketaan kaukolämmölle. Kaukolämmön tarjonnan on joka päivä vastattava senhetkistä kysyntää, olipa helle tai pakkanen. Malli laskeekin energiantarpeen ja tuotannon eri päiville ulkolämpötilan mukaan ja etsii aina tilanteeseen sopivat voimalat. Joka voimalalla on oma maksimikapasiteettinsa, jota mallissa ei voi ylittää. Niinpä kun kustannustehokkain voimala puskee täydellä teholla, lisäenergia tuotetaan seuraavaksi halvimmalla ja niin edelleen. Nämä päiväkohtaiset tiedot summataan koko vuoden ajalta yhteen, jotta tilannetta voidaan tarkastella yli vuosikymmenten. On hyvä huomata, että hyvin suuria tehotarpeita on melko harvoin, joten iso osa laitoskannasta seisoo pitkiä aikoja joutokäynnillä. Laitosten investointi- ja ylläpitokustannukset lasketaan mukaan vasta optimoinnin jälkeen, joten ne eivät vaikuta laitosten ajojärjestykseen.<br />
<br />
Sähköä tarkastellaan tässä arvioinnissa vain hyödyllisenä sivutuotteena, mutta silläkin on tärkeä rooli. Sofia siis olettaa, että sähköä on ostettavissa ja myytävissä valtakunnanverkosta rajattomasti vakiohinnalla. Meidän oli tarkoitus lisätä malliin osio, joka ottaa huomioon myös sähkön hinnan vaihtelut, mutta se ei ehtinyt valmiiksi. Joka tapauksessa on tärkeää tarkastella erilaisten vaihtoehtojen vaikutusta Helsingin sähköntarpeeseen. Takavuosina ja vielä tällä hetkellä Helsinki tuottaa sähköä enemmän kuin kuluttaa, ja sähkön myynti on itse asiassa kaupungille erinomainen bisnes. Tämä johtuu tehokkaasta CHP-tuotannosta eli sähkön ja lämmön yhteistuotannosta, johon suomalainen kaukolämpöbisnes on viime vuosikymmeninä perustunut. <br />
<br />
Kuitenkin useimmat uudet, tarkastellut vaihtoehdot ovat sellaisia, etteivät ne tuota lainkaan sähköä ja saattavat jopa kuluttaa sitä varsin paljon. Niinpä jos nykyiset hiili- ja kaasuvoimalat ajetaan alas, Helsinkiin syntyy suuri sähkövaje, joka on tavalla tai toisella pystyttävä valtakunnanverkosta täyttämään. Käytännössä tämä tarkoittaa Nordpool-aluetta, johon kuuluvat myös Ruotsi, Norja ja Tanska. Kysynnänvaihteluihin pystyvät vastaamaan parhaiten Norja ja Ruotsi, joilla on paljon helposti säädettävää vesivoimaa.<br />
<br />
<gallery widths=400px heights=350px><br />
<br />
File:Helsingin päivittäinen kaukolämpötase.png|Helsingin päivittäinen kaukolämpötase vuorokauden keskitehona ilmoitettuna voimalaitoksittain. Tarve on eritelty päivän keskimääräisen ulkolämpötilan mukaan.<br />
File:Helsingin vuotuinen kaukolämpötase.png|Helsingin vuotuinen kaukolämpötase voimalaitoksittain. Negatiiviselle puolelle menee kulutus, positiiviselle puolelle vuosituotanto. Tuotannon pitää aina vastata kysyntää kaukolämpöverkon piirissä eli Helsingin alueella.<br />
File:Helsingin vuotuinen sähkötase.png|Helsingin vuotuinen sähkötase voimalaitoksittain. Helsingin alueella sähkön tuotannon ja kulutuksen eron on mahdollista olla huomattavan suuri, toisin kuin kaukolämmön tapauksessa.<br />
File:Energiantuotantokapasiteetin kehitys Helsingissä.png|Energiantuotantokapasiteetin kehitys Helsingissä.<br />
<br />
</gallery><br />
<br />
== Kustannukset ==<br />
<br />
Sofia säätää voimaloiden käyttöastetta sen mukaan, minkä voimalan käyttö- ja polttoainekustannukset ovat halvimmat. Kuitenkin on muitakin kustannuksia, joita ei tässä vaiheessa huomioida mutta joita ei saa unohtaa. Voimalasta koituu investointi- ja ylläpitokustannuksia, ja lisäksi syntyy ulkoisia kustannuksia, jotka eivät suoraan näy voimalan ylläpitäjän kukkarossa. Hiilidioksidipäästöt aiheuttavat ilmastohaittaa, ja pienhiukkaspäästöt aiheuttavat terveyshaittaa. Myös nämä kustannukset arvioidaan ja lisätään voimalan kokonaiskustannuksiin. <br />
<br />
Kokonaiskustannukset lasketaan voimalan koko elinkaaren ajalle ja suhteutetaan niin, että voidaan puhua laskennallisista vuosikustannuksista, vaikka jonkin ratkaisun kustannukset tulevat alkuinvestoinnista ja toisen isoista käyttökuluista. Näitä laskennallisia vuosikustannuksia verrattiin voimalan elinkaarensa aikana tuottamaan energiamäärään, ja näin voitiin verrata eri voimaloiden kustannustehokkuutta.<br />
<br />
{{attack|# |ALla oleva kappale mietittävä uusiksi.|--[[Käyttäjä:Jouni|Jouni Tuomisto]] ([[Keskustelu käyttäjästä:Jouni|keskustelu]]) 23. lokakuuta 2015 kello 04.09 (UTC)}}<br />
<br />
Kustannustehokkaimpia ratkaisuja näyttävät olevan Loviisan ydinkaukolämpö, datakeskusten hukkalämpö Katri Valan lämpöpumppulaitos (se on muita kustannustehokkaampi, koska se on jo olemassa). Sen sijaan nykyiset Hanasaaaren, Salmisaaren ja Vuosaaren voimalat jäivät tarkastelussa hännille. Tämä johtuu pitkälti siitä, että hiilen ja erityisesti maakaasun hinnan oletetaan tulevina vuosina nousevan rutkasti siitä, mitä se on nyt ja varsinkin mitä se oli aiemmin. Kannattaa kuitenkin muistaa, että kustannusarviot ovat hyvin epävarmoja, ja ne pikemminkin kertovat, mitkä vaihtoehdot ovat kiinnostavia jatkoselvityksiä ajatellen. Suoraan näitä tuloksia ei pidä ottaa päätössuosituksina.<br />
<br />
{{attack|# |Kaikki kustannuskuvat pitää piirtää niin, että tulot ovat ylös ja menot alas.|--[[Käyttäjä:Jouni|Jouni Tuomisto]] ([[Keskustelu käyttäjästä:Jouni|keskustelu]]) 24. lokakuuta 2015 kello 13.24 (UTC)}}<br />
<br />
<gallery widths=400px heights=350px><br />
<br />
File:Helsingin voimalaitosten kustannustehokkuus.png|Helsingin voimalaitosten kustannustehokkuus. Kuvaajassa on jokainen voimalaitos omassa pikkupaneelissaan, ja jokainen voimalaitospolitiikka näkyy omana pylväänään. Pystyakselilla on rahavirrat tyypeittäin siten, että myyntivoitot menevät positiiviseen ja kustannukset negatiiviseen suuntaan. Voimalan tuotanto on elinkaarensa aikana voitollista, jos alas menevä pylväs on ylös menevää lyhempi. Kuitenkin huoltovarmuuden takia saatetaan tarvita myös voimaloita, jotka yksittäisinä investointeina eivät olisi taloudellisesti kannattavia.<br />
File:Helsingin voimalaitosten kustannustehokkuus yhtenäisasteikolla.png|Helsingin voimalaitosten kustannustehokkuus. Kuvassa on sama sisältö kuin edellisessäkin, mutta tässä pystyakselien asteikko on kaikissa voimaloissa sama, jotta niiden keskinäinen vertailu on helpompaa.<br />
File:Teholliset tulot ja menot energiantuotannosta Helsingissä kustannuksittain.png|Laskennalliset vuositulot ja -menot energiantuotannosta Helsingissä kustannuslajeittain. <br />
File:Energiantuotannon kokonaiskustannus Helsingissä voimaloittain.png|Tulot ja menot energiantuotannosta ajan kuluessa voimaloittain.<br />
File:Energiantuotannon kokonaiskustannus Helsingissä kustannuksittain.png|Tulot ja menot energiantuotannosta ajan kuluessa kustannuslajeittain. Isoja investointikustannuksia liittyy prosessilämpöön sekä Hajautettu ja merilämpö -vaihtoehtoon, kun taas isoja polttoainekustannuksia liittyy bioenergiaan nojaaviin vaihtoehtoihin.<br />
<br />
</gallery><br />
<br />
== Terveys- ja ilmastovaikutukset ==<br />
<br />
Terveyshaitat ovat kohtalainen menoerä, mutta se ei hallitse kokoaistilannetta eikä se eroa kovin paljon eri ratkaisujen välillä. Sähköön nojaavat ratkaisut kuten prosessilämpö näyttävät tässä suhteessa paremmilta, mutta tämä perustuu oletukseen, että ostettu sähkö on tuotettu pienillä pienhiukkaspäästöillä, eikä asia ole Helsingin hallinnassa. Terveyshaittojen osalta on kuitenkin yksi selkeä poikkeus, nimittäin omakotitalojen laajamittainen lämmitys omilla takoilla ja leivinuuneilla. Sen terveyshaitat voivat olla suuria, kustannuksina mitattuna useita satoja miljoonia euroja vuodessa. Silti se parhaimmillaankin voi kattaa vain alle prosentin Helsingin lämmitystarpeesta.<br />
<br />
Ilmastovaikutuksille lasketaan nykyistä päästökauppaa kovempi hinta eli 45 €/ton hiilidioksidipäästöä (jonkin verran sisällytetään epävarmuutta siihen, miten hiilidioksidipäästöt oikein pitäisi laskea). Nykyäänhän päästökaupassa hiilidoksiditonnin hinta pyörii reilusti alle kymmenessä dollarissa, joskin useimmat lienevät yhtä mieltä siitä, että ongelma on päästökauppasäännöissä eikä nykyhinta kuvaa todellisia ulkoisia kustannuksia.<br />
<br />
Ilmastovaikutukset ovat Sofian mukaan hieman pienemmät kuin terveysvaikutukset mutta silti merkittävät. Kuitenkin eri voimalaitosvaihtoehtojen väliset erot näyttävät yllättävän pieniltä, vaikka hiilellä on erittäin huono ja biopolttoaineilla hyvä ilmastomaine. Tämä johtuu siitä, että Sofian mukaan biopolttoaineet eivät elinkaarensa aikana ole hiilineutraaleja ja toisaalta jos polttamista korvataan prosessilämmöllä, joudutaan lisäämään sähköntuontia. Jos tuo ostosähkö on tuotettu fossiilisesti tai muuten hiilipäästöjä tuottaen jossain muualla, on ainoastaan siirretty ongelmaa paikasta toiseen. Helppoja ilmastoratkaisuja ei siis ole olemassa.<br />
<br />
{{attack|# |Sähkö-hyödyke pitäisi poistaa päästökuvasta, koska sillä ei ole päästöjä. Sehän on tuote, ja päästöt on laskettu kulutettua polttoainetta kohti. Verotettu sähkö pitäisi nimetä ostosähkö. Lisäksi kuvaan vain aikapisteet 2000, 2050.|--[[Käyttäjä:Jouni|Jouni Tuomisto]] ([[Keskustelu käyttäjästä:Jouni|keskustelu]]) 24. lokakuuta 2015 kello 13.24 (UTC)}}<br />
<br />
{{attack|# |CO2ekv-luvuissa on jotain mätää. Pitäisi selvissää. Ovat liian pieniä.|--[[Käyttäjä:Jouni|Jouni Tuomisto]] ([[Keskustelu käyttäjästä:Jouni|keskustelu]]) 24. lokakuuta 2015 kello 13.24 (UTC)}}<br />
:{{defend|# |Hiilen kerroin oli tosiaan 10 kertaa liian pieni taulukkovirheen vuoksi. Kuvat pitäisi varmaan uusia. |--[[Käyttäjä:Teemu R|Teemu R]] ([[Keskustelu käyttäjästä:Teemu R|keskustelu]]) 25. lokakuuta 2015 kello 15.26 (UTC)}}<br />
<br />
<gallery widths=400px heights=350px><br />
<br />
File:Helsingin energiantuotannon terveysvaikutukset.png|Helsingin energiantuotannon terveysvaikutukset haittapainotettuina elinvuosina (disability-adjusted life year, DALY) eliterveiden elinvuosien menetyksenä. Biopolttoaine sisältää puun pienpolton, joka aktiivisena lämmitystoimenpiteenä on mukana ainoastaan Käyttäjä-vaihtoehdossa.<br />
File:Helsingin energiantuotannon päästöt.png|Helsingin energiantuotannon hiilidioksidi- ja pienhiukkaspäästöt. Hiilidioksidipäästön laskemiselle ei ole yhtä kiistatonta tapaa, ja siksi tässä esitetään kolme erilaista. CO2suora on välitön, piipun päästä tuleva päästö. CO2ekv on elinkaaren aikainen päästö, jossa on pyritty huomioimaan myös polttoaineen tuotanto. CO2kauppa on se päästö, joka lasketaan mukaan EU:n päästökauppajärjestelmään ja biopolttoaineille tämä on nolla.<br />
<br />
</gallery><br />
<br />
== Päätelmät ==<br />
<br />
Helsingin energiapäätös on todella monimutkainen ja haasteellinen päätös. Siihen liittyy isoja ja pitkäaikaisia epävarmuuksia, joista toisia on onnistuttu jotenkin saamaan hallintaan tässä arvioinnissa mutta toisia ei. Erityisen ongelmallinen on kysymys sähköntuotannon tulevaisuudesta Suomessa (ja Nordpool-alueella yleisemminkin).<br />
<br />
Energiansäästöä lukuunottamatta kaikki varsinaiset kaukolämpöä tuottavat voimalaitosvaihtoehdot voidaan jakaa kahteen päätyyppiin: a) sähköä tuottavat prosessit, jotka ovat yleensä hiilidiokdisipäästöjä tuottavia polttoprosesseja ja b) sähköä tuottamattomat tai sitä kuluttavat prosessit, jotka joko tuottavat vain lämpöä polttamalla tai kuluttavat sähköä laaduntessaan haaleita lämmönlähteitä. Jaottelu on tärkeä sikäli, että aiemmin Suomen erittäin tehokas kaukolämpöjärjestelmä on perustunut siihen, että sähköä syntyy ikään kuin sivutuotteena erityisesti kylmillä ilmoilla, jolloin sähkönkin kysyntä on suurimmillaan ja hinta kalleimmillaan. Sähköä kuluttavat prosessit puolestaan lisäävät sähkön kysyntää juuri silloin, ja sähkö pitää tuottaa muilla keinoilla. Niitä on toistaiseksi niukasti tarjolla.<br />
<br />
Sinänsä hukkalämpöä käyttävät ratkaisut kuten Katri Valan laitoket, merikaukolämpö tai Nesteen tai Loviisan prosessien hyödyntäminen näyttävät varsin kustannustehokkailta. Arvioinnin puutteena kuitenkin on, että sähkön hinta vaihtelee runsaasti kysynnästä riippuen, ja tätä ei ole mallissa huomioitu. Luultavasti todellinen hinta on arvioitua suurempi.<br />
<br />
TARKISTETTAVA NESTEEN KUSTANNUS<br />
<br />
Helsingin kaukolämpöratkaisu kytkeytyy siis tiiviisti Pohjoismaisiin sähköratkaisuihin ja eri vaihtoehtojen keskinäinen paremmuus riippuu niistä. Sähkömarkkinat kuitenkin ovat murroksessa ja on epäselvää, mihin suuntaan ne kehittyvät. Sähkön hinnan ennustaminen on erityisen vaikeaa, koska tuulivoimalla on syöttötariffi. Sen takia tuulivoimaa on pakko ostaa vakiohinnalla kysynnästä riippumatta, ja tämä voi joskus painaa sähkön hinnan kannattamattoman alas muille tuottajille silloin, kun on tuulista. Kuitenkin tyyninä ja kylminä talvipäivinä pitää olla riittävästi sähkön- ja lämmöntuotantokapasiteettia tarpeen tyydyttämiseen. Sähköä kuluttavat kaukolämpöprosessit voivat tällöin tulla kalliiksi. Mutta myös yhdistetty sähkön ja lämmön tuotanto voi tulla kalliiksi, jos polttopäästöjen verotusta tai päästökauppaa kiristetään tai laajennetaan elinkaaripäästöihin, jolloin bioenergia ei enää näytäkään ilmastomyönteiseltä.<br />
<br />
Erityisen kiinnostavaa on, että nämä epävarmuudet ovat luonteeltaan lähinnä poliittisia ja riippuvat erilaisista vero- ja muista päätöksistä. Nyt olisi siis erityisen tärkeää, että Suomella ja mielellään koko Nordpool-alueella olisi jokin johdonmukainen energia- ja sähköpolitiikka, joka tekisi paikallisten toimijoiden toiminnan ennustettavaksi ja yhteistä tavoitetta tukevaksi. Tämä kuitenkin vaatii kansallisia toimia.<br />
<br />
Ensimmäinen askel tähän suuntaan voisi olla avoin vaikutusarviointi, jossa tarkasteltaisiin koko Nordpool-alueen sähkön- ja lämmöntuotantoa kokonaisuutena mutta yksityiskohtaisesti, jotta erilaisten ratkaisujen keskinäiset tukevat ja estävät vaikutukset tulisivat ymmärrettäviksi ja selkeän suunnittelun kohteeksi.<br />
<br />
<br />
<br />
== Linkkejä malliajoihin ==<br />
<br />
* [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=nZL5q8sr2yvOi2xN 25.10.2015 perusmalliajo, jossa on kaikki tuloskuvat]<br />
* [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=NN5k0XgmmQBsjWb3 22.10.2015 arkistoitu malliajo, josta mallin ja tulokset voi ladata omalle koneelle]<br />
<br />
= Vaikutusarviointi =<br />
<br />
{{{{ns:0}}:Helsingin energiapäätös 2015}}<br />
<br />
= Toimenpidevaihtoehdot =<br />
<br />
{{{{ns:0}}:Helsingin energiapäätöksen vaihtoehdot 2015}}<br />
<br />
= Energiapäätökseen liittyviä arvoja =<br />
<br />
{{{{ns:0}}:Helsingin energiapäätökseen liittyviä arvoja}}<br />
<br />
= Rakennuskantamalli =<br />
<br />
{{{{ns:0}}:Rakennuskantamalli}}<br />
<br />
= Lähteet =<br />
<br />
<references/><br />
<br />
= Liite: Arviointimallin yksityiskohtia (englanniksi) =<br />
<br />
:''Tähän kopioidaan englanninkielisestä Opasnetistä arviointiin liittyvät sivut.<br />
* [[:op_en:Building stock in Helsinki]]<br />
* [[:op_en:Helsinki energy production]]<br />
* [[:op_en:Helsinki energy consumption]]<br />
* [[:op_en:Energy use of buildings]]<br />
* [[:op_en:Emission factors for burning processes]]<br />
* [[:op_en:Prices of fuels in heat production]]<br />
* [[:op_en:External cost]]<br />
* [[:op_en:Building model]]<br />
* [[:op_en:Energy balance]] {{comment|# |Tästä vain tiivistelmä, muu on vanhaa tekstiä.|--[[Käyttäjä:Jouni|Jouni Tuomisto]] ([[Keskustelu käyttäjästä:Jouni|keskustelu]]) 3. lokakuuta 2015 kello 06.26 (UTC)}}<br />
<br />
= Teknisiä tietoja (ei osa raporttia) =<br />
<br />
==Katso myös==<br />
<br />
{{tiedonmuru<br />
| moderaattori=Jouni<br />
| nimi = Helsingin energiapäätös 2015. <br />
| kirjoittajat = Jouni Tuomisto, Julia Rintala, Pauli Ordén, Matleena Tuomisto ja Teemu Rintala<br />
| selite = Avoin arviointi terveys-, ilmasto- ja muista vaikutuksista<br />
| julkaisuvuosi = 2015<br />
| urn = URNXX<br />
| edistyminen = Luonnos<br />
| tehtäväryhmä = 3.03.00.01<br />
| tehtrnimi = THL:n julkaisut<br />
| vastuualue = Vaikutusarviointiyksikkö<br />
| vastuuhenkilö = Jouni Tuomisto<br />
| luotu = 1.10.2015<br />
| säilytysaika = Säilytetään pysyvästi<br />
| säilytysmuoto = Sähköinen<br />
| julkisuus = Julkinen<br />
| suojeluluokka = 2<br />
}}<br />
<br />
{{Helsingin energiapäätös 2015}}<br />
<br />
* Perusmalliajo, jossa lasketaan rakennuskannan koko ja energiantarve. Nämä välitulokset tallennetaan ja käytetään myöhemmin skenaariotarkasteluissa [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=wCUnFoiRLYePywae ajo 6.9.2015].<br />
* Malliajo, jossa käyttäjän valitsema Custom on sama kuin teknisen skenaariosarjan Lowcost eli Loviisan ydinkaukolämpö, datakeskusten hukkalämpö, Katri Valan lämpöpumput, Nesteen jalostamon hukkalämpö, sekä täydennys- ja varavoimana pienet öljylämpökeskukset.[http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=dd0dxJFgXOeXdqXm ajo 9.9.2015], [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=HITSlSEfWJKRapYF uudempi 9.9.2015 klo 14]<br />
* Malliajo, jonka perusteella etsittiin kustannustehokkaimpia vaihtoehdoja, vertailtiin voimaloita ja määriteltiin Lowcost-skenaario [http://en.opasnet.org/en-opwiki/index.php?title=Special:RTools&id=6XrzKix5Cbp0Ol9S ajo 9.9.2015]<br />
<br />
==Aiheeseen liittyviä tiedostoja==<br />
<br />
== Ohjeita tulosraportin kirjoittamiseen ==<br />
<br />
* [http://terho.thl.fi/wiki01/download/attachments/61642692/P_ty%C3%B6paperi_A4_suomi_SY.dotx?version=2&modificationDate=1434033479458&api=v2 Taittopohja]<br />
* [http://terho.thl.fi/wiki01/download/attachments/61642692/THL_tyopaperi-A4-kannet_suomi_v26022013_lock.docx?version=2&modificationDate=1367836082104&api=v2 kansi]<br />
</noinclude></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Energiatasemalli&diff=29593
Energiatasemalli
2015-08-17T01:45:24Z
<p>Teemu R: </p>
<hr />
<div>==Kysymys==<br />
<br />
Mikä on energiatase ja miten se mallinnetaan? <br />
<br />
==Vastaus==<br />
<br />
Laskemalla yhteen tietyn ajanjakson sisällä tuotettu energia ja vähentämällä siitä samassa ajassa kulutettu energia saadaan energiatase. Koska sähkö- ja kaukolämpöverkossa ei ole merkittäviä energian varastointimekanismeja, täytyy taseen olla lyhyellä aikavälillä käytännössä nolla. Kun tarkastellaan alueellista energiatasetta, voidaan olettaa että sähköä voidaan viedä ja tuoda kansainvälisillä markkinoilla. Tästä poiketen kaukolämpö täytyy tuottaa paikallisesti. Ongelmaksi muodostuu se, kuinka tuotanto optimoidaan niin että merkittäviä vajeita ei synny ja tappiot minimoidaan sekä voitot maksimoidaan. Reaalimaailmassa sen ratkaisevat pääasiassa markkinavoimat.<br />
<br />
Viimeisin energiatasemallimme käyttää lineaariohjelmointityökaluja optimaalisen aktiviteettitason löytämiseen joukolle tuotantoyksiköitä päämallin simuloimissa tilanteissa. Päämalli on vastuussa päätöksentekoon liittyvistä asioista, kun taas energiataseen optimointi ainoastaan mallintaa markkinoiden toimintaa.<br />
<br />
Lineaarinen ohjelmointiongelma muodostuu seuraavasti.<br />
Jokaiselle tuotantoyksikölle: olkoon x<sub>i</sub> voimalan aktiviteetti. <br />
Otetaan muuttuja y<sub>j</sub> merkitsemään kunkin energiatyypin ali- ja ylijäämiä. <br />
Kohdefunktio (se mitä optimoidaan) muodostuu laskemalla ensin kullekin tuotantoyksikölle yksikkötuotot a<sub>i</sub> aktiviteettia kohti. Ne määräytyvät polttoaineiden ja niistä saatavien hyödykkeiden suhteista sekä niiden hinnoista. Lisäksi haluamme varmistaa, että kaukolämmön kysyntä täytetään aina kun mahdollista, joten mallissa täyttämättömästä kaukolämmön kysynnästä maksetaan sakkoa (1M€/MW tässä mallissa). Pitää myös huomioida, että ylijäämä kaukolämpö menee hukkaan, joten se lasketaan tappiona. Merkitään vajeesta ja ylijäämästä johtuvia tappioita merkinnällä b<sub>j</sub>. Lopullinen kohdefunktio on: sum(x<sub>i</sub>a<sub>i</sub>) + sum(y<sub>j</sub>b<sub>j</sub>).<br />
Muuttujien x<sub>i</sub> ja y<sub>j</sub> arvoja rajoittavat erilaiset yhtälöt ja epäyhtälöt: hyödykkeen tuotannon summa on yhtä suuri kuin sen kysyntä - alijäämä + ylijäämä, aktiviteettia rajoittaa yksikön kapasiteetti, kaikki muuttujat ovat myös ei negatiivisia määritelmän mukaan. <br />
Tietokoneohjelma ratkaisee tämän ongelman tehokkaasti kullekin simulaatiolle. Yksinkertaisuuden vuoksi tuotannon oletetaan olevan ajasta riippumaton, eli se voidaan ajaa hetkessä ylös tai alas. Tästä seuraa myös että vesivoiman kapasiteettia ei voida mallintaa täysin, koska malli ei tiedä paljonko sitä on tähän mennessä jo käytetty.<br />
<br />
==Katso myös==<br />
[[Energiatase]]</div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Energiatasemalli&diff=29592
Energiatasemalli
2015-08-16T12:59:46Z
<p>Teemu R: pari nopeaa korjausta termeille: lineeariohjelmointi, kohdefunktio</p>
<hr />
<div>==Kysymys==<br />
<br />
Mikä on energiatase ja miten se mallinnetaan? <br />
<br />
==Vastaus==<br />
<br />
Laskemalla yhteen tietyn ajanjakson sisällä tuotettu energia ja vähentämällä siitä kulutettu energia saadaan energiatase. Koska sähköverkossa ja kaukolämpöverkossa ei ole merkittäviä energian varastointimekanismeja, täytyy taseen olla lyhyellä aikavälillä käytännössä nolla. Kun tarkastellaan tietyn alueen (kuten Helsingin) energiatasetta, voidaan olettaa, että sähköä voidaan viedä ja tuoda kansainvälisillä markkinoilla. Kaukolämpöverkon energia täytyy kuitenkin tuottaa paikallisesti. Tämä muodostaa taustan tärkeälle kysymykselle siitä, kuinka optimoidaan tuotanto niin ettei synny merkittäviä vajauksia, minimoidaan tappiot ja maksimoidaan voitot. Osittain tämä ongelma ratkeaa todellisen maailman markkinavoimien avulla. <br />
<br />
Viimeisin energiatasemallimme käyttää lineaariohjelmointityökaluja optimaalisen aktiviteettitason löytämiseen joukolle tuotantoyksiköitä päämallin simuloimissa tilanteissa. Päämalli on vastuussa päätöksentekoon liittyvistä asioista, kun taas energiataseen optimointi ainoastaan simuloi todellisen maailman markkinoiden toimintaa.<br />
<br />
Lineaarinen ohjelmointiongelma muodostuu seuraavasti.<br />
Koskien jokaista tuotantoyksikköä: olkoon x<sub>i</sub> voimalan aktiviteetti. Otetaan myös muuttuja y<sub>j</sub> merkitsemään kunkin energiatyypin ali- ja ylijäämiä. <br />
<br />
The objective function is the function we are optimising. Each production unit has a unit profit per activity denoted by a<sub>i</sub> which is determined by the amount of different input commodities (e.g. coal) per amount of different output commodities (i.e. electricity and heat) and their market prices. Lisäksi haluamme varmistaa, että kaukolämmön kysyntään vastataan aina kun mahdollista, joten jokaista vastaamatonta kaukolämmön kysynnän yksikköä kohden maksetaan sakko (1M€ tässä mallissa). Täytyy kuitenkin myös huomioida, että ylijäävä kaukolämpö menee hukkaan, joten se lasketaan tappiona. Merkitään vajeesta ja ylijäämästä johtuvia tappioita merkinnällä b<sub>j</sub>. Koko kohdefunktio on siis: sum(x<sub>i</sub>a<sub>i</sub>) + sum(y<sub>j</sub>b<sub>j</sub>).<br />
<br />
The values of variables are constrained by equalities and inequalities: the sum of production of a commodity is equal to its demand minus deficit plus excess, activity is constrained by the maximum capacity and all variables are non-negative by definition. <br />
This can be efficiently solved by computers for each given instance. Production wind-up and wind-down is ignored, since time continuity is not considered. As a consequence fuel limits (e.g. diminishing hydropower capacity) are not modelled completely either.<br />
}}<br />
<br />
==Katso myös==<br />
[[Energiatase]]</div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Malline:Kommentointity%C3%B6kalu&diff=29532
Malline:Kommentointityökalu
2015-07-23T13:34:59Z
<p>Teemu R: koodeille nimet</p>
<hr />
<div>[[Luokka:Sisältää kommentointityökalun]]<br />
'''Voit kommentoida sisältöä''' myös kirjautumatta Opasnettiin yksinkertaisesti kirjoittamalla kommenttisi alla olevaan kenttään. Sivun moderaattori siirtää kommenttisi asiasisällön osaksi sivun tekstiä ja siirtää kommentin sitten arkistoon: {{tuloslinkki}}. Etsi lisätietoja tehdyistä muutoksista [[Keskustelu:{{PAGENAME}}|keskustelusivulta]].<br />
<br />
<rcode name="kommentti_lisaa" embed=1 label="Lisää kommentti" showcode=-1 variables="<br />
name:kommentti|description:Kommenttisi tämän sivun sisältöön tai keskusteluun|type:textbox|<br />
name:liittymä|description:Mihin sivun kohtaan kommenttisi liittyy?|type:{{{2|text}}}|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
# Vähän vaarallista että mikä tahansa virhe jothaa siihen että <br />
# data tulkitaan olemassa olemattomaksi, R tietokantafunktiot ovat <br />
# jäljessä kehitystä: .series ja .locations eivät toimi subseteille.<br />
obs <- tryCatch(<br />
opbase.data(ident, subset = "Kommentit"), <br />
error = function(...) return(NULL)<br />
)<br />
<br />
if (!is.null(obs)) {<br />
if ("Obs" %in% colnames(obs)) {<br />
at <- "replace"<br />
obs <- 1<br />
} else {<br />
at <- "append"<br />
obs <- obs$JaeID<br />
obs <- gsub("[A-Za-z]", "", as.character(obs))<br />
obs <- max(as.numeric(obs)) + 1<br />
}<br />
} else {<br />
at <- "replace"<br />
obs <- 1<br />
}<br />
dat <- data.frame(<br />
Versio = 1, <br />
JaeID = paste("K", obs, sep = ""), <br />
Aika = date(), <br />
Liittymä = liittymä, <br />
Result = kommentti<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Kommentit", <br />
act_type = at, <br />
language = "fin", <br />
who = wiki_username<br />
)<br />
<br />
if (at == "replace") {<br />
dat <- data.frame(<br />
Versio = 1,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = "Alustus", <br />
Result = "NA"<br />
)<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Kommentinpoistot", <br />
act_type = at, <br />
language = "fin", <br />
who = wiki_username<br />
)<br />
}<br />
oprint("Kommenttisi on onnistuneesti tallennettu.")<br />
</rcode><br />
<br />
----<br />
;<span id="Kommentit">Tämänhetkiset kommentit, joita ei ole vielä sisällytetty sivulle tai keskustelusivulle.</span><br />
<noinclude>Jos haluat löytää tällä sivulla aiemmin olleen kommentin, mene sivulle [[Kommenttihaku]] ja anna kommentin tunnistelinkki.</noinclude><br />
<br />
<rcode name="kommentti_nayta" label="Näytä kommentit" embed=1 showcode=-1 variables="<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(OpasnetUtilsExt)<br />
<br />
pagename <- gsub(" ", "_", pagename)<br />
dat <- tryCatch(<br />
opbase.data(ident, subset = "Kommentit"), <br />
error = function(...) return(NULL)<br />
)<br />
<br />
if (is.null(dat)) oprint("Kommentteja ei löytynyt") else {<br />
poistot <- tryCatch(<br />
opbase.data(ident, subset = "Kommentinpoistot"), <br />
error = function(...) return(NULL)<br />
)<br />
<br />
if (!is.null(poistot)) dat <- dat[!dat$JaeID %in% poistot$Result, ]<br />
<br />
if(nrow(dat) == 0) {<br />
oprint("Kaikki kommentit on sisällytetty tekstiin.")<br />
} else {<br />
oprint(dat, include.rownames = FALSE)<br />
<br />
# cat("Kommenttien tunnistelinkit (tarvitaan tägäyksessä):\n")<br />
#<br />
# for(i in 1:nrow(dat)) {<br />
# olink(<br />
# paste(pagename, "?Komm=", dat$Obs[i], "#Kommentit", sep = ""), <br />
# wiki = "op_fi", <br />
# text = paste(dat$Obs[i], substr(dat$Kommentti[i], 1, 30))<br />
# )<br />
# if(i == nrow(dat)) cat("\n") else cat(" &middot; ")<br />
# }<br />
}<br />
}<br />
</rcode><br />
<br />
{{piilotettu|<br />
'''Poistettavat kommentit''' (varsinaiseen tekstiin siirretyt)<br />
<br />
<rcode name="kommentti_poista" embed=1 label="Poista kommentti" showcode=-1 variables="<br />
name:jaeid|description:Poistettavan kommentin ID|type:text|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
;- Valitse syy -;<br />
'Kommentti on sisällytetty keskusteluun tai sivulle';Kommentti on sisällytetty keskusteluun tai sivulle;<br />
'Kommentti ei liity sivun aiheeseen';Kommmentti ei liity sivun aiheeseen;<br />
'Kommentti on häiriköintiä';Kommentti on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
dat <- data.frame(<br />
Versio = 1,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = jaeid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Kommentinpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
oprint("Kommentti onnistuneesti poistettu.\n")<br />
<br />
pois <- opbase.data(ident, subset = "Kommentit")<br />
<br />
oprint(pois[pois$JaeID == jaeid , ], include.rownames = FALSE)<br />
<br />
</rcode><br />
}}<br />
<noinclude><br />
; Katso mallineen käyttöohjeet sivulta [[Kommentointityökalu]]<br />
[[op_en:Template:Commenting tool]]<br />
</noinclude></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Keskustelu:Helsingin_energiap%C3%A4%C3%A4t%C3%B6s_2015&diff=29479
Keskustelu:Helsingin energiapäätös 2015
2015-07-16T10:30:00Z
<p>Teemu R: /* Energiataseita on tarkasteltava yksityiskohtaisesti ja avoimesti */</p>
<hr />
<div>== Kansalaiskyselyn sisältö ==<br />
<br />
Millaisia kysymyksiä pitäisi esittää kansalaisille keskusteltavaksi? Tarkoituksena on kartoittaa asioita, jotka ovat arvokysymyksiä ja joissa eivät vaadi erityisasiantuntemusta vastaamiseen. Myöhemmin, kun arvioinnin tuloksia on käytettävissä, voidaan kysyä arvoja erilaisten vaihtoehtojen paremmuuksista arvioitujen vaikutusten perusteella.<br />
<br />
Tällä hetkellä on ehdotettu seuraavanlaisia kysymyksiä:<br />
<br />
'''Ensimmäiset viisi nostetaan kansalaiskeskusteluun Otakantaa-palvelussa 11.6.2015.<br />
<br />
Helsingin verotulot vuonna 2014: 2 951 932 000 €<ref>http://www.hel.fi/static/kanslia/Julkaisut/2015/Tilinpaatos_2014.pdf</ref>. Kunnallisveron osuus 2 435 075 000 €. Helenin tilikauden voitto vuonna 2014: 157 023 000 €<ref>https://www.helen.fi/vuosikertomus/vuosikertomus-2014/konsernin-vuosi/konsernin-tilinpaatos/tuloslaskelma/</ref>. Mikäli Helenin tilikauden voiton osuus Helsingin budjetista korvattaisiin täysin korkeammalla kunnan tuloveroprosentilla, tulisi sen tuoton olla 2 435 075 000 + 219 328 000 = 2 592 098 000 €. Helsingin kunnan tuloveroprosentti 2014: 18,50 %<ref>http://www.veronmaksajat.fi/Documents/Tilastot/Kuntien%20ja%20seurakuntien%20tuloveroprosentit%202014.pdf</ref>. 2 592 098 / 2 435 075 = 1,06448384546677. 1,06448384546677 * 18,50 = 19,69295114113525. Helenin vuosittainen tilikauden voitto vastaa siis n. Helsingin kunnallisveron tulovero-osuuden 1,2 prosenttiyksikön tuottoa.<br />
<br />
;Pitääkö Helenin tuottaa voittoa?: Tällä hetkellä Helsingin kaupungin kokonaan omistama energiayhtiö Helen tuottaa voittoa 157 miljoonaa euroa vuodessa<ref>https://www.helen.fi/vuosikertomus/vuosikertomus-2014/konsernin-vuosi/konsernin-tilinpaatos/tuloslaskelma/</ref>. Rahamäärä vastaa noin 6,5 % koko Helsingin kunnan tuloveron tuotosta, tai 1,2 prosenttiyksikköä Helsingin tuloveroprosentista 18,50 %. Pitäisikö tuottovaatimusta muuttaa? Miksi?<br />
<br />
;Pitääkö siirtyä sähkön tuntihinnoitteluun?: Sähkön hinta vaihtelee rajusti jopa tunneittain, kun esimerkiksi kovat pakkaset tai sähkönkäytön vuorokausivaihtelu aiheuttavat muutoksia kysynnässä. Nykyään tavallinen kuluttaja kuitenkin maksaa saman hinnan energiastaan kilowattituntia kohti. Jos siirryttäisiin tuntikohtaiseen energian hinnoitteluun, ne voittaisivat jotka pystyvät vähentämään kulutustaan silloin kun muut energiaa tarvitsevat. Kuluttaja voi seurata tarkasti sähkönkulutustaan reaaliaikaisten sähkömittarien ansiosta. Mitä mieltä olet, olisiko tuntihinnoittelu parempi kuin nykyinen kiinteä hinnoittelu? Pitäisikö siirtyä kokonaan tuntikohtaiseen hinnoitteluun? Miksi?<br />
<br />
;Pitääkö Suomen valtion tukea hajautettua energiantuotantoa?: Energiaa voi tuottaa hajautetusti esimerkiksi talokohtaisilla aurinkopaneeleilla, maalämmöllä tai hieman suuremmassa mittakaavassa tuulivoimalla. Talokohtaisesti voidaan joinakin aikoina tuottaa sähköä jopa yli oman tarpeen ja myydä ylimäärä sähköverkkoon. Toimintaa voi tukea mm. tukemalla tällaisten laitteiden käyttöönottoa tai tukemalla verkkoon syötetyn sähkön hintaa eli tariffilla. Pitäisikö tällaista toimintaa yhteiskunnan tukea? Miksi?<br />
<br />
;Pitääkö Helsingin kaupungin velvoittaa uusien rakennusten aurinkopaneeleihin?: Helsingin kaupunki voi kaavoituksella ja rakennusmääräyksillä jonkin verran vaikuttaa siihen, mitä järjestelmiä uusiin rakennuksiin rakennetaan. Näin voidaan ehkä lisätä uusiutuvien energiamuotojen yleistymistä. Pitäisikö uusille rakennuksille asettaa velvoite, että katolle on laitettava aurinkopaneeleita tai aurinkolämpökeräimiä? Miksi?<br />
<br />
;Pitääkö Helsingin käyttää ydinkaukolämpöä?: Jos Loviisaan rakennetaan uusi ydinvoimala, se voitaisiin rakentaa tuottamaan sähkön lisäksi kaukolämpöä Helsinkiin, jolloin voimalan hukkalämpöä saataisiin hyötykäyttöön. Oletetaan, että vaihtoehto on kustannusneutraali muihin vaihtoehtoihin verrattuna. Onko tällainen ydinkaukolämpö sinusta kannatettava tai vastustettava ajatus? Miksi?<br />
<br />
'''Muita kysymyksiä nostetaan keskusteluun myöhemmin, kun tarpeellista taustatietoa saadaan arvioinneista.<br />
<br />
;Paljonko olisit valmis maksamaan hiiliveroa?: Nykyään hiilivoiman hinnassa on mukana päästöoikeuksien hinta, joka on tällä hetkellä noin 5 euroa (?). Tämä tuo lisämaksua energialaskuun nelihenkiselle keskivertoperheelle noin X euroa. Paljonko olisit valmis maksamaan ylimääräistä, jotta sinun taloutesi energia tuotettaisiin hiilineutraalisti (euroa/kk/henkilö)?<br />
<br />
; Minkä energiapäätöksen sinä tekisit?: Tämänhetkisen vaikutusarvioinnin mukaan Helsingin mahdollisten energiavaihtojen vaikutukset on esitetty alla olevassa taulukossa. Laita vaihtoehdot paremmuusjärjestykseen sen mukaan kuin itse arviot kokonaishyötyjen olevan.<br />
<br />
{| {{prettytable}}<br />
|+'''Helsingin energiapäätöksen 2015 vaihtoehdot ja vaikutukset sekä prosenttimuutokset tätä menoa -vaihtoehtoon (business-as-usual) vuodessa<br />
!Vaihtehto || Hiilipäästöt (ton /hlö) || Terveyshaitat (menetettyä elinvuotta) || Verotulot (€)|| Helenin voitto (€)<br />
|----<br />
| Tätä menoa<br />
| <br />
| <br />
|<br />
|<br />
|----<br />
| Vuosaari<br />
| <br />
| <br />
|<br />
|<br />
|----<br />
| Hanasaaren purku<br />
| <br />
| <br />
|<br />
|<br />
|----<br />
| Hanasaari 40 bio<br />
| <br />
| <br />
|<br />
|<br />
|----<br />
| Salmisaari 40 bio<br />
| <br />
| <br />
|<br />
|<br />
|----<br />
| Biolämpölaitokset<br />
|<br />
|<br />
|<br />
|<br />
|---<br />
| Loviisan ydinkaukolämpö<br />
| <br />
| <br />
|<br />
|<br />
|----<br />
| Nesteen hukkalämpö<br />
| <br />
| <br />
|<br />
|<br />
|----<br />
| Hajautettu energiantuotanto<br />
| <br />
| <br />
|<br />
|<br />
|----<br />
| Suuret lämpöpumput<br />
| <br />
| <br />
|<br />
|<br />
|----<br />
| Energiansäästö<br />
| <br />
| <br />
|<br />
|<br />
|}<br />
<br />
<references/><br />
<br />
==Tehtävää==<br />
<br />
* Opettele ymmärtämään mallia.<br />
* [[Helsingin energiapäätös 2015]] tai [[:op_en:Helsinki energy decision 2015]] ilmestyviä raportteja pitää siirrellä niihin liittyville sivuille, ja käydä läpi ja katsoa, onko niissä jotain arvioinnin kannalta olennaista. Jos jotain olennaista löytyy, asia nostetaan liittyvälle sivulle.<br />
* Resultien päivittämistä etenkin tämän arvioinnin sivuille, mutta myös muille. (Lähes) kaikissa result-osioissa pitäisi olla ainakin vastauksen laskeva koodi ja jokin tulostaulukko tai kuvaaja. Lisäksi mahdollinen linkki loppuun koodin antamaan aineistoon. <br />
* Etusivut pidetään siistinä, niillä vain oikeasti koko arviointiin liittyvää tavaraa. Muut, ei niin tärkeät mutta mielenkiintoiset asiat alasivuille.<br />
<br />
'''Jakamattomat'''<br />
<br />
# Päästöt pitäisi piirtää myös voimalakohtaisesti mallin tuloksissa (Emissions from heating in Helsinki)<br />
# Luo suomenna-funktio r-koodilla, mallina sivun Silakan hyöty-riskiarvio ensimmäinen koodi. Helsinki energy decision -sivun koodin alkuun, Technical parameters -kohtaan.<br />
<br />
'''Julia'''<br />
<br />
# [[:op_en:Helsinki energy production|Helsinki energy production]] sivun taulukoiden muokkaus:<br />
## Plant parameters: Max-arvot (maksimituotanto, hukkalämpö tai -sähkö mukana)<br />
## Plant parameters: Investment cost (voimalan tuotantokulut, 0 jos rakennettu jo)<br />
## Plant parameters: Management cost (ylläpitokustannukset, tulee aina ajetaan voimalaa tai ei)<br />
## Plant parameters: Operation cost (ajokustannukset, ei mukana polttoaineen kustannukset)<br />
# Polttoaineiden hinnoista pitäisi tehdä realistisia ennusteita ja eli tarkistaa ja korjata taulukkoa "Prices of fuels in heat production".<br />
<br />
'''Pauli'''<br />
<br />
# Viisi kysymystä Uusi energiapolitiikka-facebookryhmään<br />
# Keskustelu Ota kantaa -sivulle: kuusi arvokysymystä valmiiden vastausvaihtoehtojen kanssa (esim. Eri mieltä - Samaa mieltä -skaala), lisäksi arvioinnin alustavat tulokset ja kysymys arvioinnin tuloksista (esim. Onko tulos realistinen, oletko samaa mieltä).<br />
# [[:op_en:Prices of fuels in heat production|Prices of fuels in heat production]] sivun Fuel prices -taulukon muokkaus. Hinnat todennäköisesti jakaumina.<br />
<br />
'''Jouni'''<br />
<br />
# Korjaa Not heating -ongelma kuvasta Energy used in heating Helsinki.<br />
# Lisää Heanden sähköpostilistalle omat yhteystietosi.<br />
# Kirjoita sähköposti listan asiantuntijoille.<br />
# Aseta J&P -työlistä tärkeysjärjestykseen.<br />
<br />
== Viestintä- ja vaikuttamissuunnitelma ==<br />
<br />
;Projektisi tavoite, mitä on tapahtunut kun projekti on onnistunut 100-prosenttisesti?<br />
<br />
* Projekti on herättänyt laajaa keskustelua ja kiinnostusta erityisesti Helsingissä mutta myös valtakunnallisesti, minkä seurauksena päättäjien ymmärrys kokonaisuudesta on parantunut. Samalla on syntynyt selkeämpi kuva siitä, mistä jäljelle jääneet erimielisyydet johtuvat. Kun päätös aikanaan tehdään, kaikki osapuolet ymmärtävät miksi päätös oli se mikä se oli.<br />
* Terveysasiat on nostettu keskusteluun ja myös kvantitatiiviseen arviointiin energiapäätöksenteossa.<br />
<br />
;Mitkä yhteistyötahot haluat sitoa mukaan tähän projektiin?<br />
<br />
{|{{prettytable}}<br />
! Yhteistyötaho<br />
! Osaamisalue<br />
! Toivottu toiminta hankkeen hyväksi<br />
|----<br />
| Joonas Laitinen, Esa Mäkinen, Helsingin Sanomat<br />
| Valtakunnallinen viestintä, datajournalismi, energia-asioiden uutisointi<br />
| HS voisi olla yhteistyökumppani arvioinnin tekemisessä. HS uutisoi mahdollisuudesta tarkastella energiakysymyksiä vaikutusarvioinnin, dynaamisen nettimallinnuksen ja datajournalismin keinoin. Herättelee keskustelua myös omilla sivuillaan.<br />
|----<br />
| Ilona Turtola, Petteri Juuti, Petri Kola, YLE. Riitta Malve-Tamminen, freelance-journalisti<br />
| Valtakunnallinen viestintä, energia-asioiden uutisointi.<br />
| YLE voisi myös uutisoida vaikutusarvioinnin tekemistä aivan samoin kuin HS. Kiinnostus datajournalismiin voi myös olla kova, <br />
|----<br />
| Unto Häkkinen, THL<br />
| Terveystaloustutkija<br />
| Sydäninfarktin, keuhkosyövän jne sairauksien kustannusten asiantuntija ja tietolähde.<br />
|----<br />
| Helsingin kaupunginvaltuusto<br />
| Energiapäätöksen päättäjä<br />
| Osallistuu vaikutusarvioinnissa tarkasteltujen tavoitteiden ja arvojen asettamiseen.<br />
|----<br />
| Jorma Jokiniemi UEF<br />
| Päästökerroinasiantuntija<br />
| Tarkastaa arvioinnin päästökertoimet.<br />
|----<br />
| Osmo Soininvaara (poliitikko),<br />
| Taloustiede, päätöksenteko<br />
| Ottaa kantaa talouslaskelmiin ja koko arviointiin yleisesti.<br />
|----<br />
| Peter Lund, Aalto-yliopisto<br />
| Energia-asiantuntija. Uusiutuvat energianlähteet<br />
| Arvioi energiamallin kokonaisuutta erityisesti uusiutuvien osalta.<br />
|----<br />
| Niko Karvosenoja, SYKE<br />
| PM-päästöasiantuntija<br />
| Ottaa kantaa pienhiukkaspäästöihin.<br />
|----<br />
| Sanna Syri, SYKE),<br />
| energia-asiantuntija<br />
| Ottaa kantaa energiataseeseen ja pienhiukkaspäästöihin.<br />
|----<br />
| Sanni Väisänen <br />
| kasvihuonekaasujen päästökerrointen asiantuntija<br />
| Ottaa kantaa kasvihuonekaasujen päästökertoimiin.<br />
|----<br />
| Matti Jantunen<br />
| ympäristöterveyden, altistuksen ja energian asiantuntija<br />
| Ottaa kantaa mallikokonaisuuteen ja erityisesti energiataseeseen.<br />
|----<br />
| Satu Taavitsainen (kansanedustaja, Mikkelin kaupunginvaltuuston puheenjohtaja [http://www.satutaavitsainen.com/],<br />
| Päätöksenteon ja Mikkelin puuhiilen asiantuntija<br />
| Toimittaa tietoja puuhiilen saatavuudesta ja hinnasta.<br />
|----<br />
| Maria Kopsakangas-Savolainen, SYKE [http://wwwp.ymparisto.fi/scripts/hapa/h.asp?Method=PERSONFORM&txthaku=&txtlang=FI&txtuserid=11756&txtofficeid=81&txtorgid=10]<br />
| Energiakustannusten asiantuntija<br />
| Ottaa kantaa energiahinnoitteluun.<br />
|----<br />
| Juhani Heljo, Maija Mattinen<br />
| Rakennusten energia-asiantuntijoita<br />
| Ekorem-mallin tietojen tarjoaminen arvioinnin käyttöön. R-mallien yhdistäminen Ekoremin ja building modelin kesken.<br />
|----<br />
| Trond-Olav Dahl, Florian Jaeger<br />
| Siemens CyPT model experts<br />
| Knowledge and details about levers used in the CyPt model<br />
|----<br />
| Markku Suvanto<br />
| Siemens electricity storage expert<br />
| Temporary storage capacity of electricity: potential for Helsinki<br />
|----<br />
| Raimo Salonen, Timo Lanki, THL<br />
| Pienhiukkasasiantuntijoita<br />
| Näkemyksiä ja puun pienpolton ja yleisemminkin pienhiukkasten sisällyttämisestä arviointiin.<br />
|----<br />
| Kai Larnimaa, Pekka Tuovinen, Seppo Loikkanen, Neste Oyj<br />
| Asiantuntijoita Nesteen prosesseista<br />
| Osallistuminen Nesteen hukkalämmön osamallin rakentamiseen.<br />
|----<br />
| Johannes Lounasheimo<br />
| <br />
| <br />
|----<br />
| Rauno Tolonen, Maiju Westergren, Helen<br />
| Vaikutusarviointitiedon hyödyntäjä energiantuottajina<br />
| Osallistuminen mallin rakentamiseen.<br />
|}<br />
<br />
;Aikataulu<br />
* Kesä-heinäkuu: energiatasemallin rakentaminen<br />
* Ennen juhannusta: energia-asiantuntijoihin yhteydenotto, jotta tietävät mitä on tulossa ja mitä heiltä toivotaan.<br />
* Kesä-heinäkuu: Keskustelu energiamallissa tarvittavista arvokysymyksistä. Kysymyksenasettelun täsmentäminen.<br />
* Heinä-elokuu: Tähänastisen työn perusteella tehty kysely, jolla kartoitetaan siihen mennessä tärkeimmiksi nousseita kysymyksiä systemaattisesti.<br />
* 31.8. tiedotustilaisuus, jossa tiedotetaan arvioinnin tuloksista. Nämä eivät kuitenkaan ole lopullisia tuloksia, vaan tiedotustilaisuuden toivotaa vielä stimuloivan keskustelua elokuussa.<br />
30.9. Hanke päättyy ja arviointi toimitetaan Helsingin kaupungille ja jaetaan netissä.<br />
<br />
=== Pohdintoja 10.7.2015 ===<br />
<br />
Mahdollisia ulostuloja:<br />
* Tiede-lehti (tai HS tiedepalsta): Uusi tapa tehdä soveltavaa tutkimusta ja päätöstukea<br />
* Asiantuntijat: yleistiedotus hankkeesta. Alustavia tuloksia esitellään lähinnä siitä näkökulmasta, mitä on odotettavissa ulos, kunhan tiedot täsmentyvät. Kutsu osallistumaan ja toive saada kommentteja (ilmoitusta tarkemmasta lähestymisestä ei anneta koska muuten kaikki jäävät odottamaan sitä).<br />
<br />
Kommentteja liittyen arviointiin:<br />
* Kysymys: Arvioidaan eri vaihtoehtoja. Energiataseperiaate nostettava jo kysymykseen. Tarpeeseen on pystyttävä vastaamaan päiväkohtaisesti. <br />
* Helppo lähestyttävyys: tiivistelmä tehtävä<br />
* Vielä ei kannata vedota tuloksiin vaan kertoa prosessista.<br />
* Kustannukset ovat kriittisiä ja niitä voisi kysellä,samoin päästökertoimet<br />
* Vaikutuskaavioon kannattaa viitata koska osa tykkää sellaisesta<br />
* Yksityiskohtiin liittyen joitakin asiantuntijoita lähtestytään henkilökohtaisesti ja tietotarve perustellen. Ensin meili, sitten soitto.<br />
* Kannattaa käyttää termejä avoin arviointi ym jotta tulee tutummaksi.<br />
* Kannattaa korostaa, että lämmityksetä tulee yli puolet Helsingin (ilmasto?)päästöistä. Mistä otetaan tilasto?<br />
* Voiko mallille antaa nimeksi Kaapo? Se edustaisi omaa näkemystään asiasta. <br />
* Linkki blogiin, tiedotus ei ole mennyt kunnolla läpi.<br />
* Monta tasoa ulostuloissa:<br />
** miten energia tuotetaan, mitä kustannuksia, <br />
** Entäs prosessin luonne. Tässä on yksi hyvä tapa tehdä asioita. <br />
** Ehdottakaa, mitä malli katsoisi tarkemmin.<br />
<br />
Muutamien kanssa tapaaminen, jotta saadaan kiinnostuneet miettimään intensiivisesti. Tämä elokuun alkuun. Mitä halutaan? <br />
* Mallin rakennetta<br />
* Lähtötietojen validointia. Tässä voisi toimia kaksi kokousta: esittely ja viikkoa myöhemmin työstö.<br />
* Jotain yleisempää.<br />
* Miten saadaan virallinen hajautetun energian ryhmä innostumaan.<br />
* Miten tämä voi tukea virallista prosessia? Jari ja Petteri voisivat olla oikeat ihmiset tietämään miten voimme olla avuksi.<br />
* Yleinen tiedotustilaisuus vasta kun on tuloksia (tämä on elokuun 31.). <br />
* Asiantuntijatapaamiset keskittyisivät muihin asioihin. Tavoitteet: Hajautetun kiinteistökohtaisen tuotannon mahdollisuudet. Energiatehokkuuspotentiaali: tässä Ekorem voisi auttaa paremmin kuin meidän malli.<br />
* Petterin kanssa yritetään tapaaminen 28.7. jotta saadaan ideoita hajautetun selvitystä varten. Jari yritetään mukaan 17.8. Mikä porukka ja millä agendalla?<br />
** Rauno Tolonen ainakin mukaan, samoin Timo Kuusiola.<br />
<br />
== THL-blogi 17.6.2015: Vaikeat energiapäätökset edistyvät kaikkien yhteistyöllä ==<br />
<br />
Helsingin kaupunki valmistautuu tekemään isoja päätöksiä: rakentaanko lähes miljardi euroa maksava uusi biopolttoainevoimala Vuosaareen, korjatako vanhat Salmisaaren ja Hanasaaren hiilivoimalat nykyaikaisiksi biopolttoainettakin käyttäviksi monipolttoainevoimaloiksi, vai turvatako energiansaanti muilla keinoin?<br />
<br />
Helsingin kaupunginvaltuutetut kamppailevat pitkälle tulevaisuuteen kurkottavien energiaratkaisujen kanssa näillä näkymin tämän vuoden lopulla.<br />
<br />
Energiapäätöksellä, kuten muillakin isoilla päätöksillä on merkittäviä vaikutuksia ihmisten terveyteen, vaikka terveysvaikutukset saattavat jäädä talous- ja ilmastokysymysten varjoon. Niinpä resursseja ja mielenkiintoa ei tahdo päätösten valmistelussa aina riittää terveysvaikutusten selvittämiseen.<br />
<br />
Tästä syystä Terveyden ja hyvinvoinnin laitos on käynnistänyt oman arviointinsa energiapäätöksen terveys- ja ilmastovaikutuksista.<br />
<br />
===Kaikille avointa vaikutusarviointia===<br />
<br />
Ensisijainen tavoite on luoda kokonaiskuva energiapäätöksen vaikutuksista. THL tekee arviointinsa netissä, avoimessa verkkotyötilassa ajettavilla energiatasemalleilla. Arvioinnin kaikki yksityiskohdat ovat kenen tahansa nähtävissä ja kritisoitavissa koko tämän kesän ajan.<br />
<br />
Toiseksi arvioinnissa tarkastellaan energiaratkaisujen erilaisia vaikutuksia terveyteen, ilmastoon, talouteen ja huoltovarmuuteen. Samalla selvitetään sekä hyötyjen että haittojen jakautumista eri tahojen kesken myös silloin, kun tieteellinen tieto on ohutta, ja asioiden suuruusluokkien selvittämiseen täytyy käyttää valistuneita arvauksia.<br />
<br />
Kolmas tavoite on osallistaa päättäjät, asiantuntijat ja kansalaiset keskustelemaan arvioinnin tavoitteista, sisällöstä ja lähtötiedoista koko arvioinnin ajan. Tähän tarjotaan mahdollisuus Otakantaa-sivustolla. Kaikki kertynyt tieto otetaan mukaan parantamaan arviointimallia.<br />
<br />
Neljänneksi arviointiin sisällytetään myös sellaisia päätösvaihtoehtoja, joita on jossain vaiheessa ehdotettu, mutta jotka on myöhemmin jätetty pois vaihtoehtojen listalta. On kiinnostavaa selvittää, onko hylättyjen joukossa sellaisia, joilla on erityisen hyviä tai huonoja terveys- tai muita vaikutuksia.<br />
<br />
Haluamme siis ymmärtää päätöksenteon koko kuvan ja sen, mitkä perustelut tukevat mitäkin vaihtoehtoa.<br />
<br />
===Mukana myös hylättyjä energiavaihtoehtoja===<br />
<br />
Virallisten eli vahvimmin esillä olleiden ratkaisuvaihtoehtojen lisäksi THL:n arvioinnissa pyritään selvittämään kaikki mahdolliset tavat tuottaa tarvittava energia tai vähentää kaupungin energiankulutusta.<br />
<br />
Yksi vaihtoehto on tuoda Helsinkiin kaukolämpöä Loviisaan suunnitellusta uudesta ydinvoimalasta tai Porvoossa olevasta Neste Oyj:n öljynjalostamosta. Molempien laitoksen normaalista toiminnasta syntyy suuri määrä hukkalämpöä.<br />
<br />
Energiantuotantoa on myös mahdollista hajauttaa lisäämällä aurinkopaneeleita, lämpöpumppuja, maalämpöä tai puun pienpolttoa ympäri Helsinkiä. Energiansäästökampanjoiden ja energiaremontoinnin mahdollisuuksia tutkitaan myös. Ja tarkastelussa on mukana suuret lämpöpumput, joilla Helsinki voisi kerätä kaukolämpöä Itämerestä ja syvälle maahan poratuista rei'istä.<br />
<br />
Tällä hetkellä arvioinnista on vasta ensimmäisiä alustavia ja suppeita tuloksia, mutta työ jatkuu elokuun loppuun.<br />
<br />
Suurten laitosten terveysvaikutuksissa ei näytä juuri olevan eroa sillä, poltetaanko hiiltä vai korvataanko 40 prosenttia siitä biopolttoaineella. Rakennusten lämmittämisen hiilidioksidipäästöt vähenevät biopolttoaineilla noin viidenneksen, mutta vain jos puun hiilidioksidipäästöjen oletetaan sitoutuvan metsän kasvuun toisaalla.<br />
<br />
Alustavien tulosten tarkoituksena on herättää keskustelua kansalaisten keskuudessa siitä, mitkä ovat tärkeitä asioita, ja asiantuntijoiden keskuudessa siitä, ovatko arviointimallissa käytetyt oletukset oikein.<br />
<br />
:Jouni Tuomisto<br />
:johtava tutkija<br />
:Vaikutusarviointi, THL<br />
<br />
Tärkeitä linkkejä:<br />
* Keskustelusivusto arvioinnin tavoitteista ja sisällöstä: https://www.otakantaa.fi/energiapaatos<br />
* Johdatus arviointiin ja eri vaihtoehtojen kuvaukset: http://fi.opasnet.org/fi/Energiapaatos<br />
* Arviointimalli yksityiskohtineen englanniksi: http://en.opasnet.org/w/Helsinki_energy_decision_2015<br />
<br />
==Lehdistötiedote==<br />
<br />
THL on aloittanut arvioinnin Helsingin tulevaisuuden energiantuotantomahdollisuuksista. Arvioinnissa tarkastellaan erityisesti erilaisten energiatuotantotapojen terveys- ja ympäristövaikutuksia. Arviointia tehdään avoimesti, jotta mahdollisimman moni asiasta kiinnostunut saa mahdollisuuden osallistua vaihtoehdoista ja päätöksestä keskustelemiseen. Keskustelu on avattu otakantaa.fi-sivustolla nimellä Helsingin energiapäätös 2015 - THL:n vaikutusarviointi. Keskusteluosuus on auki 11.7. asti. Tämän jälkeen oman mielipiteensä voi vielä kertoa vastaamalla heinäkuussa sivulle tulevaan kyselyyn. Arviointiin pääsee tutustumaan myös Opasnetissä, joka on avoin wikipohjainen verkkotyötila. Kaikki arvoinnissa käytettävä data ja laskelmat ovat vapaasti nähtävillä ja kommentoitavana Opasnetissä englanniksi osoitteessa en.opasnet.org/w/Helsinki_energy_decision_2015. Johdatus arviointiin ja eri vaihtoehtojen kuvaukset löytyvät myös suomeksi Opasnetistä osoitteesta fi.opasnet.org/fi/Energiapaatos.<br />
<br />
Arviointi liittyy Helsingissä syksyllä tehtävään päätökseen tulevaisuuden energiavoimaloista ja energiantuotannosta. Virallisia vaihtoehtoja on kaksi. Ensimmäisessä vaihtoehdossa Hanasaaren voimalaitos Helsingin keskustassa poistetaan käytöstä ja puretaan. Paikalle rakennetaan uusia asuinrakennuksia. Hanasaaren voimalaitoksen energiantuotantoa korvaamaan Vuosaareen rakennetaan uusi voimalaitos, joka voi polttaa biopolttoaineita ja kivihiiltä missä tahansa suhteessa. Toisessa vaihtoehdossa Hanasaaren ja Salmisaaren voimaloita remontoidaan polttamaan 40% biopolttoaineita, eli käytännössä puuhaketta ja -pellettejä, tällä hetkellä poltettavan kivihiilen seassa.<br />
<br />
Näiden päävaihtoehtojen lisäksi arvioinnissa pyritään selvittämään kaikki mahdolliset tavat joko tuottaa tarvittava energia tai vähentää kaupungin energiankulutusta. Yksi vaihtoehto on tuoda Helsinkiin kaukolämpöä Loviisaan suunnitellusta uudesta ydinvoimalasta tai Porvoossa olevasta Neste Oyj:n öljynjalostamosta. Molempien normaalista toiminnasta syntyy suuri määrä hukkalämpöä. Energiantuotantoa voisi myös hajauttaa lisäämällä aurinkopaneeleita, lämpöpumppuja ja pieniä maavoimaloita ympäri Helsinkiä. Energiansäästökampanjoiden ja remontoinnin avulla energiantarvetta voisi vähentää niin paljon, että esimerkiksi Hanasaaren voimala voitaisiin sulkea ilman korvaavan voimalan rakentamista. Tarkastelussa on myös mukana mahdollisuus rakentaa suuria lämpöpumppuja, joilla Helsinki voisi saada kaukolämpöä Itämerestä ja syvältä maahan poratuista rei'istä.<br />
<br />
Tällä hetkellä arviointi on alkutekijöissään, eikä lopullisia tuloksia ole vielä olemassa. Alustavien tulosten mukaan kuitenkin näyttäisi, ettei terveysvaikutusten osalta ole juuri eroa sillä, poltetaanko suurissa laitoksissa, eli Hanasaaressa ja Salmisaaressa, hiiltä vai korvataanko siitä 40 % biopolttoaineella. Rakennusten lämmittämisen hiilidioksidipäästöt sen sijaan vähenevät biopolttoaineilla noin viidenneksen, mutta vain jos puun hiilidioksidipäästöjen oletetaan sitoutuvan metsän kasvuun toisaalla. Alustavien tulosten tarkoituksena on herättää keskustelua kansalaisten keskuudessa siitä, mitkä ovat tärkeitä asioita, ja asiantuntijoiden keskuudessa siitä, ovatko arviointimallissa käytetyt oletukset oikein.<br />
<br />
Lisätiedot:<br />
<br />
Johtava tutkija<br />
Jouni Tuomisto<br />
<br />
jouni.tuomisto(at)thl.fi<br />
<br />
Avainkohteita tiedotukselle:<br />
* Joonas Laitinen, Helsingin Sanomat<br />
* Petteri Juuti, YLE<br />
* Ilona Turtola, YLE<br />
<br />
== Sähköposti avainhenkilöille ==<br />
<br />
:''Alla oleva viesti on lähetetty pienillä ryhmäkohtaisilla muutoksilla seuraaville ryhmille:<br />
* TUSO-jakelu, Juhani Eskola, Päivi Väyrynen, Maria Ojaluoma, Maria Kuronen 11.7.2015<br />
* Energiaprofessorit (Maamme energia -kirjan kirjoittajat) 11.7.2015<br />
* Kai Larnimaa, Seppo Loikkanen ja Pekka Tuovinen (Neste Oy:n asiantuntijoita) 11.7.2015<br />
* Helsingin edustajat Tapio Korhonen, Jari Viinanen, Petteri Huuska, Timo Kuusiola, Sonja-Maria Ignatius, Maiju Westergren, Runo Tolonen, Osmo Soininvaara 13.7.2015<br />
* Päästö- ja kustannusasiantuntijat Jorma Jokiniemi, Niko Karvosenoja, Sanni Väisänen, Matti Jantunen, Maria Kopsakangas-Savolainen, Christian Breyer, Joona Poukka, Juhani Heljo, Maija Mattinen, Markku Suvanto 13.7.2015<br />
* Ilmatieteen laitoksen asiantuntijat Ari Karppinen, Leena Kangas, Jaakko Kukkonen, Mia Aarnio 13.7.2015.<br />
<br />
<br />
'''Ympäristöterveysarviointi Helsingin energiapäätöksestä<br />
<br />
Helsinki tekee loppusyksystä isoja energiapäätöksiä voimalaitoksista, mikä vaikuttaa ilmasto- ja terveysasioihin vuosikymmeniä. Tämän päätöksen tukemiseksi olemme THL:ssä tekemässä kesä-elokuun aikana vaikutusarviointia erilaisista tavoista tuottaa asukkaiden tarvitsema kaukolämpö ja sähkö. Työ tehdään kokonaisuudessaan avoimena arviointina Opasnet-verkkotyötilassa. Kvantitatiivisen arvioinnin lisäksi herättelemme keskustelua päätökseen liittyvistä arvostuksista Otakantaa-sivulla.<br />
<br />
Työ on edennyt niin pitkälle, että meillä on arvioinnin perusmalli valmiina ja olemme nimenneet sen Sofiaksi. Malli tuottaa jo nyt joitakin tuloksia, mutta odotamme niiden muuttuvan työn edetessä, kun lähtötiedot täsmentyvät.<br />
<br />
Lähetän sinulle tämän viestin, koska arvelen, että sinulla on sellaista erityisosaamista, joka voisi auttaa meitä kehittämään malliamme ja sitä kautta auttamaan Helsingin kaupunkia tekemään perusteltuja, tietoon pohjautuvia päätöksiä. Sofia on koodeineen ja lähtötietoineen avoimesti saatavilla koneluettavassa muodossa. Voit myös ajaa mallin omalla koneellasi, jos asennat R-ohjelman ja siihen OpasnetUtils-paketin.<br />
<br />
Lähtötietojen selaamiseen ei kuitenkaan tarvita mitään nettiselainta kummempaa, vaan kaikki tiedot on pyritty keräämään helposti luettaviin taulukoihin arvioinnin sivuille. Linkit yksityiskohtiin löytyvät arvioinnin pääsivulta. Arviointi on englanninkielinen (koska osa asiantuntijoistakin on), mutta tiivistelmä on myös suomeksi. Voit kommentoida arviointia arvioinnin suomenkielisellä pääsivulla tai Otakantaa-palvelussa. Voit myös lähettää meille sähköpostia.<br />
<br />
:http://fi.opasnet.org/fi/Energiapaatos arvioinnin pääsivu<br />
:http://en.opasnet.org/w/Helsinki_energy_decision_2015 arvioinnin pääsivu englanniksi<br />
:https://www.otakantaa.fi/energiapaatos Otakantaa-palvelun keskustelu<br />
:https://blogi.thl.fi/blogi/-/blogs/vaikeat-energiapaatokset-on-hyva-tehda-laajana-yhteistyona Blogi<br />
<br />
Hienoa, jos voit antaa meille palautetta. Kiitos jo etukäteen!<br />
<br />
Yhteistyöterveisin,<br />
<br />
Jouni Tuomisto<br />
<br />
== Energiataseita on tarkasteltava yksityiskohtaisesti ja avoimesti ==<br />
<br />
:''Teksti on suunniteltu Hesarin pääkirjoitussivulle.<br />
<br />
Energiantuotanto on tärkeää, myös ilmastonmuutoksen hillinnässä ja terveyden suojelemisessa. Helsingin kaupunki valmistautuu tekemään isoja päätöksiä: rakentaanko lähes miljardi euroa maksava uusi biopolttoainevoimala Vuosaareen, korjatako vanhat Salmisaaren ja Hanasaaren hiilivoimalat nykyaikaisiksi biopolttoainettakin käyttäviksi monipolttoainevoimaloiksi, vai turvatako energiansaanti muilla keinoin?<br />
<br />
Nämä loppusyksyn energiapäätökset vaikuttavat vuosikymmeniä. Ei ihme, että vilkasta keskustelua on käyty kuukausia. Kriittisen kuulijan on kuitenkin vaikea tehdä omia päätelmiään. Tarjolla on joko yksityiskohtia tai ylimalkaisia kuvailuja, mutta ne eivät yhdisty kokonaisuudeksi.<br />
<br />
Energiaratkaisuissa on elintärkeää tarkastella energiatasetta eli energian kysynnän ja tarjonnan vastaavuutta eri ajankohtina. Energian jatkuva riittävyys on varmistettava. Kaukolämmön ja sähkön tarve sahaa ylös ja alas riippuen tuntien jaksolla saunavuoroista ja vuorokaudenajasta, päivien jaksolla ulkolämpötilasta ja teollisuustuotannosta sekä vuosien ja vuosikymmenien jaksolla rakennuskannasta, korjausremonteista ja elintasosta. Joka ikinen tunti kuitenkin on tuotettava juuri se määrä sähköä ja myös kaukolämpöä kuin mikä tarve on; varastointi on toistaiseksi tehotonta ja kallista. {{attack|# |Väittäisin näppituntumalta että jonkinasteista joustoa on kyllä tuntitasolla molemmissa sähkö- ja kaukolämpöverkoissa. Lämpöverkossa kiertävä vesi varastoi valtavasti lämpöä ja vähentynyt tuotanto saattaa vaikuttaa varsinaisesti vasta pitkillä aikaväleillä. Sähköverkossa sen huomattavan laajuuden vuoksi samankaltainen tilanne ja tunnittaiset vaihtelut tasaantuvat ulkopuolisessa tuotannossa nätisti. Siksi tämä kuulostaa vähän liioitellulta. Pointtini: systeemissä on varmaan jonkin verran joustoa mitä ei tunnisteta tässä, mikä mielestäni jättää vähän epäasiantuntevan vaikutelman.|--[[Käyttäjä:Teemu R|Teemu R]] ([[Keskustelu käyttäjästä:Teemu R|keskustelu]]) 16. heinäkuuta 2015 kello 10.29 (UTC)}}<br />
<br />
Kun energiapäätöksiä tehdään, on varmistettava, että sähkö riittää kylmimpinäkin tuulettomina talviöinä kun aurinko- ja tuulisähköä ei synny. Kuitenkaan ei ole järkevää haaskata rahaa ylikapasiteettiin eli turhaan seisoviin voimaloihin. Kokonaistilannetta on siis mahdollista ymmärtää vasta, kun kysyntä- ja tuotantojoustot on huomioitu yksityiskohtaisesti. <br />
<br />
Energiataseen tarkastelu vaatii energiainsinöörin työkaluja. Niitä ei ole kaupunginvaltuutetuille tai kansalaiskeskustelijoille ollut tarjolla, vaikka tarve on esimerkiksi kansalaisjärjestöjen piirissä selvästi tunnistettu.<br />
<br />
Nyt tilanne on korjautumassa, koska Terveyden ja hyvinvoinnin laitos THL on julkaissut energiatasemallin osana Helsingin energiapäätöksen terveysvaikutusten arviointiaan. Malli toimii avoimesti Opasnet-verkkotyötilassa, ja sitä voi käyttää selaimella. Ohjelmointitaitoinen käyttäjä voi myös ladata sen omalle koneelleen tarkempaa tutustumista ja jatkokokeiluja varten.<br />
<br />
Arvioinnin ja Sofia-mallin ensisijainen tavoite on luoda kokonaiskuva energiapäätöksestä ja sen terveys-, ilmasto-, energia- ja kustannusvaikutuksista. Joustavaan, oliopohjaiseen R-malliin saadaan lisätyksi myös aiemmin ehdotettuja ja hylättyjä vaihtoehtoja, jolloin asioiden vertailtavuus paranee.<br />
<br />
Yksi vaihtoehto on tuoda Helsinkiin kaukolämpöä Loviisan mahdollisesta uudesta ydinvoimalasta tai Porvoossa olevasta Neste Oyj:n öljynjalostamosta. Molempien laitoksen normaalista toiminnasta syntyy suuri määrä hukkalämpöä. Kiinnostavaa on selvittää, vähentäisikö tämä rakennusten lämmönsäästötoimien kannattavuutta tai miten sähkö tuotettaisiin, jos yhteistuotannon tarve vähenisi.<br />
<br />
Alustavien tulosten mukaan suurten laitosten terveysvaikutuksissa ei näytä juuri olevan eroa sillä, poltetaanko hiiltä vai korvataanko 40 prosenttia siitä biopolttoaineella kuten on suunniteltu. Rakennusten lämmittämisen hiilidioksidipäästöt vähenevät biopolttoaineilla noin viidenneksen, mutta vain jos puun hiilidioksidipäästöjen oletetaan sitoutuvan metsän kasvuun toisaalla.<br />
<br />
Alustavien tulosten tarkoituksena on herättää keskustelua kansalaisten keskuudessa siitä, mitkä ovat tärkeitä asioita, ja asiantuntijoiden keskuudessa siitä, ovatko arviointimallissa käytetyt oletukset oikein.<br />
<br />
Pitkän aikavälin kunnianhimoinen tavoite on herättää päättäjät, asiantuntijat ja kansalaiset huomaamaan, että yksityiskohtiin menevä, avoimesti toteutettu päätösten vaikutusarviointi on mahdollista ja tarpeellista erityisesti monimutkaisissa kysymyksissä kuten energiataseessa tai ilmastonmuutoksessa.<br />
<br />
Yksityiskohtaiset ja avoimet nettimallit kuten Sofia voisivat toimia kuin yhtenä keskustelijana demokraattisessa prosessissa. Se osaisi faktat ja ymmärtäisi syysuhteet niin hyvin kuin asiantuntijat ovat osanneet ja ehtineet sille opettaa. Niiden ja osallistujien kuvaamien arvostusten perusteella se antaisi suosituksia, jotka toimisivat jatkokeskustelujen pohjana.<br />
<br />
Sofian kaikki yksityiskohdat ovat kenen tahansa nähtävissä ja kommentoitavissa. Niinpä sen kehittäminen perustuu samaan kuin tiede: jatkuvaan itsensä korjaamiseen avoimen, faktoihin perustuvan kritiikin avulla.<br />
<br />
Tähänastinen kokemuksemme on, että tällaiseen nettimallin ryhdittämään keskusteluun on vaikea osallistua. Mutta tärkeää ja hyödyllistä sanottavaa on ollut niillä, joiden näkemys ja tietämys on riittänyt osallistumiseen. Itse asiassa toimintamalli vähentää löysän pulinan osuutta osallistumisessa. Kaikille voidaan varata mahdollisuus sanoa ilman, että yllytettäisiin niitä, joilla ei ole uutta sanottavaa.<br />
<br />
Tutkimuksellisesti on kiinnostavaa löytää sopivat osallistumisen muodot. Päätöksenteon kannalta avoimet nettimallit tarjoavat kokonaan uudenlaisen tavan tukea yhteiskunnan päätösvalmistelua.<br />
<br />
:Jouni Tuomisto <br />
:johtava tutkija<br />
:Terveyden ja hyvinvoinnin laitos</div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Keskustelu:Kohdistamo&diff=27906
Keskustelu:Kohdistamo
2014-12-22T10:31:25Z
<p>Teemu R: korjauskoodi siirretty</p>
<hr />
<div>== Korjauskoodi ==<br />
{{tuloslinkki}}<br />
<br />
<rcode label="Korjaa kirjaukset" variables="<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
temp <- opbase.data("op_fi3948.kirjaukset", "12999")<br />
<br />
derp <- 13235<br />
<br />
durp <- opbase.data("op_fi3948.kirjaukset", as.character(derp))<br />
temp <- rbind(temp, durp[534:nrow(durp),])<br />
#durp <- list()<br />
#for (i in derp) {<br />
# durp <- opbase.data("op_fi3948.kirjaukset", as.character(i))<br />
# temp <- rbind(temp, durp)<br />
#}<br />
<br />
opbase.upload(<br />
temp, <br />
who = wiki_username,<br />
name = pagename,<br />
subset = "Kirjaukset"<br />
)<br />
</rcode><br />
<br />
<rcode label="Korjaa poistot" variables="<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
temp <- opbase.data("op_fi3948.kirjauspoistot", "12912")<br />
<br />
#derp <- opbase.data("op_fi3948.kirjauspoistot", "12864")<br />
<br />
#temp <- rbind(temp, derp)<br />
<br />
<br />
opbase.upload(<br />
temp, <br />
who = wiki_username,<br />
name = pagename,<br />
subset = "Kirjauspoistot"<br />
)<br />
</rcode></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Kohdistamo&diff=27905
Kohdistamo
2014-12-22T10:30:58Z
<p>Teemu R: /* Korjauskoodi */ vaarallinen koodi pois normaalikäyttäjien ulottuvilta</p>
<hr />
<div>{{metodi}}<br />
[[op_en:Timetracker]]<br />
<br />
<rcode name="answer" embed=1 showcode=0 label="Tallenna kirjaus" variables="<br />
name:työ|description:Minkä työn haluat kirjata?|type:selection|options:<br />
'STM raportointi ja laskutus';STM raportointi ja laskutus;<br />
'EU raportointi ja laskutus';EU raportointi ja laskutus;<br />
'TEKES raportointi ja laskutus';TEKES raportointi ja laskutus;<br />
'SA raportointi ja laskutus';SA raportointi ja laskutus;<br />
'ESR/EAKR raportointi ja laskutus';ESR/EAKR raportointi ja laskutus;<br />
'MUUT raportointi ja laskutus';MUUT raportointi ja laskutus;<br />
'Budjettirahoitus';Budjettirahoitus;<br />
'Tilintarkastus';Tilintarkastus;<br />
'Yleinen projektinhallinta ja neuvonta';Yleinen projektinhallinta ja neuvonta;<br />
'Kehittäminen';Kehittäminen;<br />
'Koulutus';Koulutus;<br />
'Sisäiset palaverit';Sisäiset palaverit;<br />
'Vuosibudjetointi';Vuosibudjetointi;<br />
'Tilinpäätös';Tilinpäätös;<br />
'Pneumokokkirokote';Pneumokokkirokote;<br />
'LVM-tulevaisuuskatsaus';LVM-tulevaisuuskatsaus;<br />
'H2O';H2O;<br />
'Helsingin ilmastokartta';Helsingin ilmastokartta;<br />
'Helsingin ilmastokartta 2';Helsingin ilmastokartta 2;<br />
'IEHIAS';IEHIAS;<br />
'Oletus';Oletus;<br />
'Ulos';Ulos;<br />
'Muu';Muu<br />
|default:'Helsingin ilmastokartta 2'|<br />
category:Henkilötietoa ei tarvitse antaa, jos olet kirjautuneena Opasnettiin|<br />
name:jaksoko|description:Mitä haluat kirjata?|type:selection|options:<br />
FALSE;Annan nykyhetken aloitusajaksi;<br />
TRUE;Annan työn alku- ja loppuhetken käsin|<br />
default:FALSE|<br />
name:muutyö|description:Muu työ, mikä?|type:text|<br />
category:Listalta puuttuva työ|category_conditions:työ;'Muu'|<br />
name:aika|description:Milloin aloitit?|type:datetime|<br />
category:Jakson ajoitus|category_conditions:jaksoko;TRUE|<br />
name:loppu|description:Mihin asti tämä työ jatkui?|type:datetime<br />
"><br />
library(OpasnetUtils)<br />
<br />
if(jaksoko) {<br />
alku <- as.character(aika)<br />
loppu <- as.character(loppu)<br />
} else {<br />
alku <- as.character(Sys.time())<br />
loppu <- NA<br />
}<br />
<br />
out <- data.frame(<br />
Työ = ifelse(työ == 'Muu', muutyö, työ),<br />
Henkilö = wiki_username,<br />
Aika = alku,<br />
Loppu = loppu,<br />
Result = 0<br />
)<br />
if (jaksoko && alku > loppu){<br />
cat("Kirjaus epäonnistui, aloitusaika on myöhäisempi kuin lopetusaika.\n")<br />
cat("Tarkasta aika ja yritä uudelleen.")<br />
} else{<br />
opbase.upload(input = out, ident = "Op_fi3948", name = "Kohdistamo", subset = "Kirjaukset", <br />
obj_type = "variable", act_type = "append", language = "fin", who = wiki_username)<br />
cat("Kirjaus onnistui. Nämä tiedot tallennettiin.\n") <br />
}<br />
<br />
<br />
oprint(out[colnames(out) != "Result"])<br />
</rcode><br />
<br />
<br />
<br />
<rcode graphics=0 name="output" embed=1 showcode=0 label="Hae kirjauksia" variables="<br />
category:Hae kirjauksia|<br />
name:alku|description:Seurantajakson alku|type:date|default:2014-02-06|<br />
name:loppu|description:Seurantajakson loppu|type:date|<br />
name:tekijä|description:Työntekijän käyttäjätunnus|type:text|default:Kaikki|<br />
name:projekti|description:Projekti|type:selection|options:<br />
'Kaikki';Kaikki;<br />
'STM raportointi ja laskutus';STM raportointi ja laskutus;<br />
'EU raportointi ja laskutus';EU raportointi ja laskutus;<br />
'TEKES raportointi ja laskutus';TEKES raportointi ja laskutus;<br />
'SA raportointi ja laskutus';SA raportointi ja laskutus;<br />
'ESR/EAKR raportointi ja laskutus';ESR/EAKR raportointi ja laskutus;<br />
'MUUT raportointi ja laskutus';MUUT raportointi ja laskutus;<br />
'Budjettirahoitus';Budjettirahoitus; <br />
'Tilintarkastus';Tilintarkastus;<br />
'Yleinen projektinhallinta ja neuvonta';Yleinen projektinhallinta ja neuvonta;<br />
'Kehittäminen';Kehittäminen;<br />
'Koulutus';Koulutus;<br />
'Sisäiset palaverit';Sisäiset palaverit;<br />
'Vuosibudjetointi';Vuosibudjetointi;<br />
'Tilinpäätös';Tilinpäätös;<br />
'Pneumokokkirokote';Pneumokokkirokote;<br />
'LVM-tulevaisuuskatsaus';LVM-tulevaisuuskatsaus;<br />
'H2O';H2O;<br />
'Helsingin ilmastokartta';Helsingin ilmastokartta;<br />
'IEHIAS';IEHIAS;<br />
'Oletus';Oletus;<br />
'Muu';Muu<br />
|default:'Kaikki'<br />
"><br />
library(OpasnetUtils)<br />
library(ggplot2)<br />
objects.latest("Op_en6007", code_name = "answer") # We need timing<br />
<br />
kirjausajat <- function(alku, loppu, tekijä, projekti){<br />
dat <- opbase.data("Op_fi3948", subset = 'Kirjaukset')<br />
poistot <- opbase.data("Op_fi3948", subset = 'Kirjauspoistot')<br />
<br />
# pois <- as.numeric(as.character(poistot$Kirjausnro)) # Varoitus nousee tästä, kun yritetään muuttaa numericiksi ei-numeerinen.<br />
# Varoitus tulee arvosta k1 mutta tällä ei ole käytännön merkitystä. Varoitus ei ole virhe eikä toiminta keskeydy.<br />
#<br />
# pois <- subset(pois, pois > 0)<br />
# dat <- dat[-pois , colnames(dat) != "Result"] # Tässä kohti voisi käyttää %in%iä, mutta dat[dat %in% poistot$Kirjausnro , ] <br />
# # ei ainakaan toiminut. En siis tiedä, miten kutsua dat:in rivinumerosaraketta.<br />
#<br />
# dat on data.frame ja siksi et voi käyttää sitä vertailussa vektoriin. Sen sijaan 1:nrow(dat) tuottaa juoksevan rivinumeroinnin dat:lle. <br />
# Kirjausnro puolestaan pitää muuttaa numeroiksi, jotta sitä voi verrata rivinumeroihin. Suositeltavampi tyyli on tämä:<br />
<br />
pois <- as.numeric(levels(poistot$Kirjausnro)[poistot$Kirjausnro])<br />
dat <- dat[!1:nrow(dat) %in% pois , colnames(dat) != "Result"]<br />
<br />
<br />
<br />
#tuntikirjaus <- opbase.data("Op_fi3950.tuntikirjaus")<br />
#työtehtävät <- opbase.data("Op_fi3950.tyotehtavat")<br />
#työsuunnitelma <- opbase.data("Op_fi3950.tyosuunnitelma")<br />
#tuntikirjaus <- tuntikirjaus[colnames(tuntikirjaus) != "Obs"]<br />
#työtehtävät <- työtehtävät[colnames(työtehtävät) != "Obs"]<br />
#työsuunnitelma <- työsuunnitelma[colnames(työsuunnitelma) != "Obs"]<br />
#colnames(työsuunnitelma)[colnames(työsuunnitelma) == "Result"] <- "Loppu"<br />
#työsuunnitelma <- data.frame(työsuunnitelma, Henkilö = "Jouni")<br />
<br />
<br />
dat <- dat[dat$Henkilö %in% tekijä , ]<br />
<br />
<br />
molemmat <- dat[dat$Loppu != "NA" , ]<br />
työ <- dat[dat$Loppu == "NA" , ]<br />
ulos <- työ[työ$Työ == "Ulos" , ]<br />
työ <- työ[työ$Työ != "Ulos" , ]<br />
<br />
if (length(työ$Työ) > length(ulos$Työ)) {työ <- työ[-((nrow(ulos)+1):nrow(työ)), ] <br />
työ$Loppu <- ulos$Aika<br />
} else työ$Loppu <- ulos$Aika<br />
<br />
työ <- rbind(työ, molemmat)<br />
<br />
if (projekti != "Kaikki") työ <- työ[työ$Työ == projekti , ]<br />
<br />
työ$Aika <- as.POSIXct(työ$Aika, tz = 'Europe/Helsinki')<br />
työ$Loppu <- as.POSIXct(työ$Loppu, tz = 'Europe/Helsinki')<br />
<br />
työ <- työ[<br />
työ$Aika >= as.POSIXct(alku, tz = 'Europe/Helsinki') &<br />
työ$Aika <= as.POSIXct(loppu, tz = 'Europe/Helsinki') +3600*24 ,<br />
]<br />
<br />
työaika <- (sum(as.numeric(työ$Loppu))-sum(as.numeric(työ$Aika)))<br />
<br />
työaika <- (round(työaika/3600, digits = 2))<br />
<br />
cat("Valitulla välillä tehty työaika on yhteensä ", työaika, " tuntia. \n")<br />
<br />
<br />
työ$Aika <- as.character(työ$Aika)<br />
työ$Loppu <- as.character(työ$Loppu)<br />
oprint(työ)<br />
#oprint(työsuunnitelma)<br />
#oprint(työtehtävät)<br />
<br />
#out <- poistot<br />
#oprint(out)<br />
<br />
<br />
#tuntikirjaus <- timing(tuntikirjaus, timecol = c("Aika", "Loppu"), weeks = 6)<br />
#timeline <- makeTimeline(tuntikirjaus)<br />
#timeline <- timeline[order(timeline$Time) , ]<br />
#timeline$Time[nrow(timeline)] <- max(timeline$Time, na.rm = TRUE)<br />
<br />
#for(i in 1:(nrow(timeline)-1)) {timeline$end[i] <- timeline$Time[i+1]}<br />
#timeline[nrow(timeline), "end"] <- NA<br />
#timeline$end <- as.POSIXct(timeline$end, origin = "1970-01-01")<br />
<br />
#ggplot(timeline, aes(<br />
# xmin = Time, # as.Date(as.character(Start))<br />
# xmax = end, # as.Date(as.character(End)) + 2<br />
# ymin = as.numeric(Henkilö),<br />
# ymax = as.numeric(Henkilö) + 1,<br />
# fill = Työ)) + geom_rect()<br />
# <br />
}<br />
<br />
if (tekijä != "Kaikki") tekijä <- gsub("\\s", "", unlist(strsplit(tekijä, ","))) else tekijä <- c("Sharp", "Heta", "Pauli", "Jaakko", "Mori", "Julia")<br />
kirjausajat(alku, loppu, tekijä, projekti)<br />
<br />
<br />
#objects.store(output, kirjausajat)<br />
# Periaatteena on kaksi koodia: initiate luo funktiot, ovariablet ja muut yleiskäyttöiset oliot ja tallentaa ne serverille.<br />
# Käyttökoodi answer kutsuu noita olioita ja suorittaa niillä tapauskohtaisia toimenpiteitä. Koska tämä on tapauskohtainen<br />
# koodi, ei kannata tallentaa olioita (ethän kutsu niitä missään). Kunhan koodi on vakiintunut, kannattaa se jakaa<br />
# yleiseen ja projektikohtaiseen. Esimerkiksi tekijöiden tunnukset kannattaa ottaa funktioon parametriksi, jotta funktio<br />
# olisi yleispätevä, ja parametrin arvo kerrotaan projektikohtaisessa koodissa.<br />
</rcode><br />
<br />
<br />
<br />
<br />
<rcode name="answer" embed=1 showcode=0 label="Poista kirjaus" variables="<br />
name:nro|description:Poistettavan kirjauksen Obs|type:text|<br />
category:Kirjauksen poisto|<br />
name:syy|description:Poiston syy|type:text<br />
"><br />
<br />
library(OpasnetUtils)<br />
<br />
nro <- gsub("\\s", "", unlist(strsplit(nro, ","))) # Pilkotaan pilkusta ja poistetaan alku- ja loppuvälilyönnit<br />
<br />
dat <- data.frame(Kirjausnro = nro, Syy = syy, Result = 1)<br />
<br />
opbase.upload(input = dat, ident = "Op_fi3948", name = "Kohdistamo", subset = "Kirjauspoistot", <br />
act_type = "append", language = "fin", who = wiki_username<br />
)<br />
<br />
cat("Nämä kirjaukset poistettu onnistuneesti.\n")<br />
<br />
oprint(dat)<br />
<br />
</rcode><br />
<br />
<br />
* Katso ohjeita sivulta [[Kohdistamo/Ohje]]<br />
* {{tuloslinkki}}<br />
<br />
== Aikakoneen laskenta ==<br />
<br />
Tässä on siistitty ja dokumentoitu versio [[Aikakone]]en makeTimeline-funktiosta, joka ottaa sisäänsä työajan alku- ja loppuaikoja ja tuottaa aikajanan. Funktion olennainen lisäarvo on siinä, että sille voi antaa päällekkäisiä ajanjaksoja, ja se korvaa vanhemmat kirjaukset (eli ylempänä taulukossa olevat) uudemmilla, jos niiissä on päällekkäisyyksiä. Toinen lisäarvo on se, että se automaattisesti käsittelee jokaisen henkilön ajankäyttöä erikseen, mutta muiden indeksien suhteen se vain periyttää tiedot aikajanalle. Muita indeksejä voi siis käyttää tarpeen mukaan.<br />
<br />
{{comment|# |Kehityskohteita: tarvitaanko koskaan tilannetta, jossa henkilösarakkeita onkin useita? Ei liene tärkeä, vaan tarvittaessa tämä toteutetaan luomalla tämmöinen sarake etukäteen.|--[[Käyttäjä:Jouni|Jouni Tuomisto]] ([[Keskustelu käyttäjästä:Jouni|keskustelu]]) 15. heinäkuuta 2014 kello 08.28 (UTC)}}<br />
<br />
<rcode embed=1><br />
library(OpasnetUtils)<br />
<br />
makeTimeline2 <- function (<br />
events, # data.frame with time cols (start and end) and possibly other indices. One index may separate individuals.<br />
cols = c("Alku", "Loppu"), # Names of the start and end time columns<br />
personcol = NULL # Name of the column defining individuals, if any<br />
) {<br />
<br />
if (!is.numeric(events[cols[1]])) { # If not numeric, assume a time format.<br />
for (m in 1:2) {<br />
events[[cols[m]]] <- as.POSIXct(events[[cols[m]]], tz = "Europe/Helsinki")<br />
}<br />
}<br />
if(is.null(personcol)) { # Make a temporary column for individuals<br />
personcol <- "Persontemp"<br />
events$Persontemp <- "Temp"<br />
}<br />
<br />
out <- data.frame()<br />
<br />
for(k in as.character((unique(events[[personcol]])))) { # Look at each individual's events separately.<br />
<br />
event <- events[events[[personcol]] == k , colnames(events) != personcol]<br />
<br />
# timeline is a data.frame with all starts and ends as one timeline. <br />
# Events down in the "event" data.frame replace previous events higher in "event", if they overlap.<br />
timeline <- data.frame(Time = min(event[[cols[1]]]), Eventrow = nrow(event) + 1) # First time point<br />
<br />
for (i in 1:nrow(event)) { # Go through each row and replace the time slot in timeline with the event.<br />
<br />
temp <- data.frame(<br />
Time = event[i , cols[1]],<br />
End = event[i , cols[2]],<br />
EventrowStart = i # Eventrows are used temporarily. In the end they are replaced with all indices in event.<br />
)<br />
<br />
# Add new time points to the timeline with the event row mentioned.<br />
timeline <- merge(timeline, temp[c("Time", "EventrowStart")], all = TRUE)<br />
colnames(temp) <- c("Remove", "Time", "EventrowEnd")<br />
timeline <- merge(timeline, temp[, c("Time", "EventrowEnd")], all = TRUE)<br />
<br />
# Go through intermediate time points and replace them with the new event.<br />
for (j in 2:nrow(timeline)) {<br />
if (is.na(timeline$Eventrow[j])) {<br />
timeline$Eventrow[j] <- timeline$Eventrow[j - 1]<br />
}<br />
if (is.na(timeline$EventrowStart[j]) & is.na(timeline$EventrowEnd[j])) {<br />
timeline$EventrowStart[j] <- timeline$EventrowStart[j - 1]<br />
}<br />
}<br />
# If the Eventrow is not a start, it must be an end.<br />
timeline$Eventrow <- ifelse(!is.na(timeline$EventrowStart), timeline$EventrowStart, timeline$Eventrow)<br />
timeline <- timeline[, c("Time", "Eventrow")]<br />
}<br />
<br />
# Add one row for the last timepoint.<br />
event <- rbind(event, rep(NA, ncol(event)))<br />
event[nrow(event) , cols[1]] <- max(timeline$Time)<br />
event$Eventrow <- row(event)[ , 1]<br />
<br />
# Bring back the other indices from event.<br />
timeline <- merge(timeline, event)<br />
timeline <- timeline[order(timeline$Time), ]<br />
timeline <- timeline[!colnames(timeline) %in% c("Eventrow", cols)]<br />
<br />
if(personcol != "Persontemp") timeline[[personcol]] <- k<br />
<br />
out <- rbind(out, timeline)<br />
<br />
}<br />
# Calculate the durations of each time slot in the timeline.<br />
out$Duration <- out$Time[c(2:nrow(out), NA)] - out$Time<br />
# Remove the last duration value from each individual's timeline.<br />
temp <- out[[personcol]]<br />
out$Duration <- ifelse(temp[c(2:length(temp), NA)] != temp | 1:length(temp) == length(temp), 0, out$Duration)<br />
<br />
return(out)<br />
}<br />
<br />
events <- data.frame(<br />
Projekti = c("LVM", "LVM", "Pneumokokki"),<br />
Alku = c("2014-07-14 12:00", "2014-07-15 13:00", "2014-07-14 12:30"), <br />
Loppu = c("2014-07-14 14:00", "2014-07-15 14:15", "2014-07-15 14:00"),<br />
Person = c("Heikki", "Ville", "Ville")<br />
)<br />
<br />
dat <- makeTimeline2(events, cols = c("Alku", "Loppu"), personcol = "Person")<br />
<br />
cat("Lähtödata\n")<br />
<br />
oprint(events)<br />
<br />
cat("Aikajana. Tapahtumien kestot ovat minuutteina.\n")<br />
<br />
dat$Time <- format(dat$Time) # Convert times from POSIXct to character.<br />
<br />
oprint(dat)<br />
<br />
</rcode></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Kohdistamo&diff=27904
Kohdistamo
2014-12-22T10:23:37Z
<p>Teemu R: /* Korjauskoodi */ uudet korjaukset</p>
<hr />
<div>{{metodi}}<br />
[[op_en:Timetracker]]<br />
<br />
<rcode name="answer" embed=1 showcode=0 label="Tallenna kirjaus" variables="<br />
name:työ|description:Minkä työn haluat kirjata?|type:selection|options:<br />
'STM raportointi ja laskutus';STM raportointi ja laskutus;<br />
'EU raportointi ja laskutus';EU raportointi ja laskutus;<br />
'TEKES raportointi ja laskutus';TEKES raportointi ja laskutus;<br />
'SA raportointi ja laskutus';SA raportointi ja laskutus;<br />
'ESR/EAKR raportointi ja laskutus';ESR/EAKR raportointi ja laskutus;<br />
'MUUT raportointi ja laskutus';MUUT raportointi ja laskutus;<br />
'Budjettirahoitus';Budjettirahoitus;<br />
'Tilintarkastus';Tilintarkastus;<br />
'Yleinen projektinhallinta ja neuvonta';Yleinen projektinhallinta ja neuvonta;<br />
'Kehittäminen';Kehittäminen;<br />
'Koulutus';Koulutus;<br />
'Sisäiset palaverit';Sisäiset palaverit;<br />
'Vuosibudjetointi';Vuosibudjetointi;<br />
'Tilinpäätös';Tilinpäätös;<br />
'Pneumokokkirokote';Pneumokokkirokote;<br />
'LVM-tulevaisuuskatsaus';LVM-tulevaisuuskatsaus;<br />
'H2O';H2O;<br />
'Helsingin ilmastokartta';Helsingin ilmastokartta;<br />
'Helsingin ilmastokartta 2';Helsingin ilmastokartta 2;<br />
'IEHIAS';IEHIAS;<br />
'Oletus';Oletus;<br />
'Ulos';Ulos;<br />
'Muu';Muu<br />
|default:'Helsingin ilmastokartta 2'|<br />
category:Henkilötietoa ei tarvitse antaa, jos olet kirjautuneena Opasnettiin|<br />
name:jaksoko|description:Mitä haluat kirjata?|type:selection|options:<br />
FALSE;Annan nykyhetken aloitusajaksi;<br />
TRUE;Annan työn alku- ja loppuhetken käsin|<br />
default:FALSE|<br />
name:muutyö|description:Muu työ, mikä?|type:text|<br />
category:Listalta puuttuva työ|category_conditions:työ;'Muu'|<br />
name:aika|description:Milloin aloitit?|type:datetime|<br />
category:Jakson ajoitus|category_conditions:jaksoko;TRUE|<br />
name:loppu|description:Mihin asti tämä työ jatkui?|type:datetime<br />
"><br />
library(OpasnetUtils)<br />
<br />
if(jaksoko) {<br />
alku <- as.character(aika)<br />
loppu <- as.character(loppu)<br />
} else {<br />
alku <- as.character(Sys.time())<br />
loppu <- NA<br />
}<br />
<br />
out <- data.frame(<br />
Työ = ifelse(työ == 'Muu', muutyö, työ),<br />
Henkilö = wiki_username,<br />
Aika = alku,<br />
Loppu = loppu,<br />
Result = 0<br />
)<br />
if (jaksoko && alku > loppu){<br />
cat("Kirjaus epäonnistui, aloitusaika on myöhäisempi kuin lopetusaika.\n")<br />
cat("Tarkasta aika ja yritä uudelleen.")<br />
} else{<br />
opbase.upload(input = out, ident = "Op_fi3948", name = "Kohdistamo", subset = "Kirjaukset", <br />
obj_type = "variable", act_type = "append", language = "fin", who = wiki_username)<br />
cat("Kirjaus onnistui. Nämä tiedot tallennettiin.\n") <br />
}<br />
<br />
<br />
oprint(out[colnames(out) != "Result"])<br />
</rcode><br />
<br />
<br />
<br />
<rcode graphics=0 name="output" embed=1 showcode=0 label="Hae kirjauksia" variables="<br />
category:Hae kirjauksia|<br />
name:alku|description:Seurantajakson alku|type:date|default:2014-02-06|<br />
name:loppu|description:Seurantajakson loppu|type:date|<br />
name:tekijä|description:Työntekijän käyttäjätunnus|type:text|default:Kaikki|<br />
name:projekti|description:Projekti|type:selection|options:<br />
'Kaikki';Kaikki;<br />
'STM raportointi ja laskutus';STM raportointi ja laskutus;<br />
'EU raportointi ja laskutus';EU raportointi ja laskutus;<br />
'TEKES raportointi ja laskutus';TEKES raportointi ja laskutus;<br />
'SA raportointi ja laskutus';SA raportointi ja laskutus;<br />
'ESR/EAKR raportointi ja laskutus';ESR/EAKR raportointi ja laskutus;<br />
'MUUT raportointi ja laskutus';MUUT raportointi ja laskutus;<br />
'Budjettirahoitus';Budjettirahoitus; <br />
'Tilintarkastus';Tilintarkastus;<br />
'Yleinen projektinhallinta ja neuvonta';Yleinen projektinhallinta ja neuvonta;<br />
'Kehittäminen';Kehittäminen;<br />
'Koulutus';Koulutus;<br />
'Sisäiset palaverit';Sisäiset palaverit;<br />
'Vuosibudjetointi';Vuosibudjetointi;<br />
'Tilinpäätös';Tilinpäätös;<br />
'Pneumokokkirokote';Pneumokokkirokote;<br />
'LVM-tulevaisuuskatsaus';LVM-tulevaisuuskatsaus;<br />
'H2O';H2O;<br />
'Helsingin ilmastokartta';Helsingin ilmastokartta;<br />
'IEHIAS';IEHIAS;<br />
'Oletus';Oletus;<br />
'Muu';Muu<br />
|default:'Kaikki'<br />
"><br />
library(OpasnetUtils)<br />
library(ggplot2)<br />
objects.latest("Op_en6007", code_name = "answer") # We need timing<br />
<br />
kirjausajat <- function(alku, loppu, tekijä, projekti){<br />
dat <- opbase.data("Op_fi3948", subset = 'Kirjaukset')<br />
poistot <- opbase.data("Op_fi3948", subset = 'Kirjauspoistot')<br />
<br />
# pois <- as.numeric(as.character(poistot$Kirjausnro)) # Varoitus nousee tästä, kun yritetään muuttaa numericiksi ei-numeerinen.<br />
# Varoitus tulee arvosta k1 mutta tällä ei ole käytännön merkitystä. Varoitus ei ole virhe eikä toiminta keskeydy.<br />
#<br />
# pois <- subset(pois, pois > 0)<br />
# dat <- dat[-pois , colnames(dat) != "Result"] # Tässä kohti voisi käyttää %in%iä, mutta dat[dat %in% poistot$Kirjausnro , ] <br />
# # ei ainakaan toiminut. En siis tiedä, miten kutsua dat:in rivinumerosaraketta.<br />
#<br />
# dat on data.frame ja siksi et voi käyttää sitä vertailussa vektoriin. Sen sijaan 1:nrow(dat) tuottaa juoksevan rivinumeroinnin dat:lle. <br />
# Kirjausnro puolestaan pitää muuttaa numeroiksi, jotta sitä voi verrata rivinumeroihin. Suositeltavampi tyyli on tämä:<br />
<br />
pois <- as.numeric(levels(poistot$Kirjausnro)[poistot$Kirjausnro])<br />
dat <- dat[!1:nrow(dat) %in% pois , colnames(dat) != "Result"]<br />
<br />
<br />
<br />
#tuntikirjaus <- opbase.data("Op_fi3950.tuntikirjaus")<br />
#työtehtävät <- opbase.data("Op_fi3950.tyotehtavat")<br />
#työsuunnitelma <- opbase.data("Op_fi3950.tyosuunnitelma")<br />
#tuntikirjaus <- tuntikirjaus[colnames(tuntikirjaus) != "Obs"]<br />
#työtehtävät <- työtehtävät[colnames(työtehtävät) != "Obs"]<br />
#työsuunnitelma <- työsuunnitelma[colnames(työsuunnitelma) != "Obs"]<br />
#colnames(työsuunnitelma)[colnames(työsuunnitelma) == "Result"] <- "Loppu"<br />
#työsuunnitelma <- data.frame(työsuunnitelma, Henkilö = "Jouni")<br />
<br />
<br />
dat <- dat[dat$Henkilö %in% tekijä , ]<br />
<br />
<br />
molemmat <- dat[dat$Loppu != "NA" , ]<br />
työ <- dat[dat$Loppu == "NA" , ]<br />
ulos <- työ[työ$Työ == "Ulos" , ]<br />
työ <- työ[työ$Työ != "Ulos" , ]<br />
<br />
if (length(työ$Työ) > length(ulos$Työ)) {työ <- työ[-((nrow(ulos)+1):nrow(työ)), ] <br />
työ$Loppu <- ulos$Aika<br />
} else työ$Loppu <- ulos$Aika<br />
<br />
työ <- rbind(työ, molemmat)<br />
<br />
if (projekti != "Kaikki") työ <- työ[työ$Työ == projekti , ]<br />
<br />
työ$Aika <- as.POSIXct(työ$Aika, tz = 'Europe/Helsinki')<br />
työ$Loppu <- as.POSIXct(työ$Loppu, tz = 'Europe/Helsinki')<br />
<br />
työ <- työ[<br />
työ$Aika >= as.POSIXct(alku, tz = 'Europe/Helsinki') &<br />
työ$Aika <= as.POSIXct(loppu, tz = 'Europe/Helsinki') +3600*24 ,<br />
]<br />
<br />
työaika <- (sum(as.numeric(työ$Loppu))-sum(as.numeric(työ$Aika)))<br />
<br />
työaika <- (round(työaika/3600, digits = 2))<br />
<br />
cat("Valitulla välillä tehty työaika on yhteensä ", työaika, " tuntia. \n")<br />
<br />
<br />
työ$Aika <- as.character(työ$Aika)<br />
työ$Loppu <- as.character(työ$Loppu)<br />
oprint(työ)<br />
#oprint(työsuunnitelma)<br />
#oprint(työtehtävät)<br />
<br />
#out <- poistot<br />
#oprint(out)<br />
<br />
<br />
#tuntikirjaus <- timing(tuntikirjaus, timecol = c("Aika", "Loppu"), weeks = 6)<br />
#timeline <- makeTimeline(tuntikirjaus)<br />
#timeline <- timeline[order(timeline$Time) , ]<br />
#timeline$Time[nrow(timeline)] <- max(timeline$Time, na.rm = TRUE)<br />
<br />
#for(i in 1:(nrow(timeline)-1)) {timeline$end[i] <- timeline$Time[i+1]}<br />
#timeline[nrow(timeline), "end"] <- NA<br />
#timeline$end <- as.POSIXct(timeline$end, origin = "1970-01-01")<br />
<br />
#ggplot(timeline, aes(<br />
# xmin = Time, # as.Date(as.character(Start))<br />
# xmax = end, # as.Date(as.character(End)) + 2<br />
# ymin = as.numeric(Henkilö),<br />
# ymax = as.numeric(Henkilö) + 1,<br />
# fill = Työ)) + geom_rect()<br />
# <br />
}<br />
<br />
if (tekijä != "Kaikki") tekijä <- gsub("\\s", "", unlist(strsplit(tekijä, ","))) else tekijä <- c("Sharp", "Heta", "Pauli", "Jaakko", "Mori", "Julia")<br />
kirjausajat(alku, loppu, tekijä, projekti)<br />
<br />
<br />
#objects.store(output, kirjausajat)<br />
# Periaatteena on kaksi koodia: initiate luo funktiot, ovariablet ja muut yleiskäyttöiset oliot ja tallentaa ne serverille.<br />
# Käyttökoodi answer kutsuu noita olioita ja suorittaa niillä tapauskohtaisia toimenpiteitä. Koska tämä on tapauskohtainen<br />
# koodi, ei kannata tallentaa olioita (ethän kutsu niitä missään). Kunhan koodi on vakiintunut, kannattaa se jakaa<br />
# yleiseen ja projektikohtaiseen. Esimerkiksi tekijöiden tunnukset kannattaa ottaa funktioon parametriksi, jotta funktio<br />
# olisi yleispätevä, ja parametrin arvo kerrotaan projektikohtaisessa koodissa.<br />
</rcode><br />
<br />
<br />
<br />
<br />
<rcode name="answer" embed=1 showcode=0 label="Poista kirjaus" variables="<br />
name:nro|description:Poistettavan kirjauksen Obs|type:text|<br />
category:Kirjauksen poisto|<br />
name:syy|description:Poiston syy|type:text<br />
"><br />
<br />
library(OpasnetUtils)<br />
<br />
nro <- gsub("\\s", "", unlist(strsplit(nro, ","))) # Pilkotaan pilkusta ja poistetaan alku- ja loppuvälilyönnit<br />
<br />
dat <- data.frame(Kirjausnro = nro, Syy = syy, Result = 1)<br />
<br />
opbase.upload(input = dat, ident = "Op_fi3948", name = "Kohdistamo", subset = "Kirjauspoistot", <br />
act_type = "append", language = "fin", who = wiki_username<br />
)<br />
<br />
cat("Nämä kirjaukset poistettu onnistuneesti.\n")<br />
<br />
oprint(dat)<br />
<br />
</rcode><br />
<br />
<br />
* Katso ohjeita sivulta [[Kohdistamo/Ohje]]<br />
* {{tuloslinkki}}<br />
<br />
== Aikakoneen laskenta ==<br />
<br />
Tässä on siistitty ja dokumentoitu versio [[Aikakone]]en makeTimeline-funktiosta, joka ottaa sisäänsä työajan alku- ja loppuaikoja ja tuottaa aikajanan. Funktion olennainen lisäarvo on siinä, että sille voi antaa päällekkäisiä ajanjaksoja, ja se korvaa vanhemmat kirjaukset (eli ylempänä taulukossa olevat) uudemmilla, jos niiissä on päällekkäisyyksiä. Toinen lisäarvo on se, että se automaattisesti käsittelee jokaisen henkilön ajankäyttöä erikseen, mutta muiden indeksien suhteen se vain periyttää tiedot aikajanalle. Muita indeksejä voi siis käyttää tarpeen mukaan.<br />
<br />
{{comment|# |Kehityskohteita: tarvitaanko koskaan tilannetta, jossa henkilösarakkeita onkin useita? Ei liene tärkeä, vaan tarvittaessa tämä toteutetaan luomalla tämmöinen sarake etukäteen.|--[[Käyttäjä:Jouni|Jouni Tuomisto]] ([[Keskustelu käyttäjästä:Jouni|keskustelu]]) 15. heinäkuuta 2014 kello 08.28 (UTC)}}<br />
<br />
<rcode embed=1><br />
library(OpasnetUtils)<br />
<br />
makeTimeline2 <- function (<br />
events, # data.frame with time cols (start and end) and possibly other indices. One index may separate individuals.<br />
cols = c("Alku", "Loppu"), # Names of the start and end time columns<br />
personcol = NULL # Name of the column defining individuals, if any<br />
) {<br />
<br />
if (!is.numeric(events[cols[1]])) { # If not numeric, assume a time format.<br />
for (m in 1:2) {<br />
events[[cols[m]]] <- as.POSIXct(events[[cols[m]]], tz = "Europe/Helsinki")<br />
}<br />
}<br />
if(is.null(personcol)) { # Make a temporary column for individuals<br />
personcol <- "Persontemp"<br />
events$Persontemp <- "Temp"<br />
}<br />
<br />
out <- data.frame()<br />
<br />
for(k in as.character((unique(events[[personcol]])))) { # Look at each individual's events separately.<br />
<br />
event <- events[events[[personcol]] == k , colnames(events) != personcol]<br />
<br />
# timeline is a data.frame with all starts and ends as one timeline. <br />
# Events down in the "event" data.frame replace previous events higher in "event", if they overlap.<br />
timeline <- data.frame(Time = min(event[[cols[1]]]), Eventrow = nrow(event) + 1) # First time point<br />
<br />
for (i in 1:nrow(event)) { # Go through each row and replace the time slot in timeline with the event.<br />
<br />
temp <- data.frame(<br />
Time = event[i , cols[1]],<br />
End = event[i , cols[2]],<br />
EventrowStart = i # Eventrows are used temporarily. In the end they are replaced with all indices in event.<br />
)<br />
<br />
# Add new time points to the timeline with the event row mentioned.<br />
timeline <- merge(timeline, temp[c("Time", "EventrowStart")], all = TRUE)<br />
colnames(temp) <- c("Remove", "Time", "EventrowEnd")<br />
timeline <- merge(timeline, temp[, c("Time", "EventrowEnd")], all = TRUE)<br />
<br />
# Go through intermediate time points and replace them with the new event.<br />
for (j in 2:nrow(timeline)) {<br />
if (is.na(timeline$Eventrow[j])) {<br />
timeline$Eventrow[j] <- timeline$Eventrow[j - 1]<br />
}<br />
if (is.na(timeline$EventrowStart[j]) & is.na(timeline$EventrowEnd[j])) {<br />
timeline$EventrowStart[j] <- timeline$EventrowStart[j - 1]<br />
}<br />
}<br />
# If the Eventrow is not a start, it must be an end.<br />
timeline$Eventrow <- ifelse(!is.na(timeline$EventrowStart), timeline$EventrowStart, timeline$Eventrow)<br />
timeline <- timeline[, c("Time", "Eventrow")]<br />
}<br />
<br />
# Add one row for the last timepoint.<br />
event <- rbind(event, rep(NA, ncol(event)))<br />
event[nrow(event) , cols[1]] <- max(timeline$Time)<br />
event$Eventrow <- row(event)[ , 1]<br />
<br />
# Bring back the other indices from event.<br />
timeline <- merge(timeline, event)<br />
timeline <- timeline[order(timeline$Time), ]<br />
timeline <- timeline[!colnames(timeline) %in% c("Eventrow", cols)]<br />
<br />
if(personcol != "Persontemp") timeline[[personcol]] <- k<br />
<br />
out <- rbind(out, timeline)<br />
<br />
}<br />
# Calculate the durations of each time slot in the timeline.<br />
out$Duration <- out$Time[c(2:nrow(out), NA)] - out$Time<br />
# Remove the last duration value from each individual's timeline.<br />
temp <- out[[personcol]]<br />
out$Duration <- ifelse(temp[c(2:length(temp), NA)] != temp | 1:length(temp) == length(temp), 0, out$Duration)<br />
<br />
return(out)<br />
}<br />
<br />
events <- data.frame(<br />
Projekti = c("LVM", "LVM", "Pneumokokki"),<br />
Alku = c("2014-07-14 12:00", "2014-07-15 13:00", "2014-07-14 12:30"), <br />
Loppu = c("2014-07-14 14:00", "2014-07-15 14:15", "2014-07-15 14:00"),<br />
Person = c("Heikki", "Ville", "Ville")<br />
)<br />
<br />
dat <- makeTimeline2(events, cols = c("Alku", "Loppu"), personcol = "Person")<br />
<br />
cat("Lähtödata\n")<br />
<br />
oprint(events)<br />
<br />
cat("Aikajana. Tapahtumien kestot ovat minuutteina.\n")<br />
<br />
dat$Time <- format(dat$Time) # Convert times from POSIXct to character.<br />
<br />
oprint(dat)<br />
<br />
</rcode><br />
== Korjauskoodi ==<br />
{{tuloslinkki}}<br />
<br />
<rcode label="Korjaa kirjaukset" variables="<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
temp <- opbase.data("op_fi3948.kirjaukset", "12999")<br />
<br />
derp <- 13235<br />
<br />
durp <- opbase.data("op_fi3948.kirjaukset", as.character(derp))<br />
temp <- rbind(temp, durp[534:nrow(durp),])<br />
#durp <- list()<br />
#for (i in derp) {<br />
# durp <- opbase.data("op_fi3948.kirjaukset", as.character(i))<br />
# temp <- rbind(temp, durp)<br />
#}<br />
<br />
opbase.upload(<br />
temp, <br />
who = wiki_username,<br />
name = pagename,<br />
subset = "Kirjaukset"<br />
)<br />
</rcode><br />
<br />
<rcode label="Korjaa poistot" variables="<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
temp <- opbase.data("op_fi3948.kirjauspoistot", "12912")<br />
<br />
#derp <- opbase.data("op_fi3948.kirjauspoistot", "12864")<br />
<br />
#temp <- rbind(temp, derp)<br />
<br />
<br />
opbase.upload(<br />
temp, <br />
who = wiki_username,<br />
name = pagename,<br />
subset = "Kirjauspoistot"<br />
)<br />
</rcode></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=T%C3%A4gikone&diff=27805
Tägikone
2014-12-09T14:58:07Z
<p>Teemu R: /* Apufunktiot */ jakeistajan resoluutio lausetasolle uudella parametrilla</p>
<hr />
<div>{{metodi|moderator=Jouni}}<br />
<br />
== Apufunktiot ==<br />
'''Vaati plyr kirjaston'''<br />
<rcode label='Alusta funktiot' name='apufunktiot' embed=1 showcode=1><br />
library(OpasnetUtils)<br />
<br />
# Requires plyr<br />
<br />
get_page_ident <- function(main_ident, page_name) {<br />
filter <- list()<br />
filter$Sivu <- page_name<br />
ver <- opbase.data(main_ident, subset = "Versiot", include = filter)<br />
out <- as.character(unique(ver$Ident))<br />
return(out)<br />
}<br />
<br />
get_current_version <- function(main_ident) {<br />
ver <- opbase.data(main_ident, subset = "Versiot")<br />
out <- max(as.numeric(as.character(ver$Versio)))<br />
return(out)<br />
}<br />
<br />
get_meta_data <- function(main_ident, page_name = NULL) {<br />
filter <- list()<br />
filter$Sivu <- page_name<br />
ver <- opbase.data(main_ident, subset = "Versiot", include = filter)<br />
return(ver)<br />
}<br />
<br />
try_dl_rm <- function(..., filter = NULL, rm_id = NULL, rm_ind = "JaeID") {<br />
out <- data.frame()<br />
first <- TRUE<br />
for (i in list(...)) {<br />
temp <- tryCatch(<br />
opbase.data(<br />
i, <br />
include = filter[names(filter) %in% opbase.indices(i)]<br />
), <br />
error = function(...) return(data.frame())<br />
)<br />
#if (nrow(temp) == 0) print(paste("Failed to download ", i, " ", geterrmessage(), sep = ""))<br />
if (nrow(temp) > 0) {<br />
if (first) {<br />
out <- rbind(out, temp)<br />
first <- FALSE<br />
} else {<br />
out <- rbind.fill(out, temp[colnames(temp) %in% colnames(out)])<br />
}<br />
}<br />
}<br />
if (!is.null(rm_id)) {<br />
#filter[[rm_ind]] <- NULL<br />
#if (length(filter) == 0) filter <- NULL<br />
temp <- tryCatch(<br />
opbase.data(<br />
rm_id, <br />
include = filter[names(filter) %in% opbase.indices(rm_id)]<br />
), <br />
error = function(...) return(NULL)<br />
)<br />
#if (is.null(temp)) print(paste("Failed to download ", rm_id, " ", geterrmessage(), sep = ""))<br />
if (!is.null(temp)) {<br />
colnames(temp)[colnames(temp) == "Result"] <- rm_ind<br />
#temp <- temp[colnames(temp)[colnames(temp) %in% colnames(out)]]<br />
# On second thought we should only get marginals into the merge... <br />
temp <- temp[colnames(temp)[colnames(temp) %in% c(rm_ind, "Sivu", "Versio")]]<br />
temp$Remove_tagged <- 1<br />
out <- join(out, temp, match = "first") # left join from plyr, preserves original order, first match is faster<br />
out <- out[is.na(out$Remove_tagged),]<br />
out[["Remove_tagged"]] <- NULL<br />
}<br />
}<br />
return(out)<br />
}<br />
<br />
upload_with_autoid <- function(data, ident.subset, id_name, pagename, prefix = character(), filter = NULL) {<br />
# Bad implementation that downloads whole data just to find next id<br />
temp <- tryCatch(<br />
opbase.data(ident.subset, include = filter), <br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(temp)) {<br />
obs <- gsub("[A-Za-z]", "", as.character(temp[[id_name]]))<br />
obs <- max(as.numeric(obs)) + 1<br />
} else {<br />
obs <- 1<br />
}<br />
if (nrow(data) > 1) obs <- obs:(obs + nrow(data) - 1)<br />
data[[id_name]] <- paste(prefix, obs, sep = "")<br />
ident.subset <- strsplit(ident.subset, ".", fixed = TRUE)[[1]]<br />
opbase.upload(<br />
data, <br />
ident = ident.subset[1], <br />
name = pagename, # needs rcode tag variables<br />
subset = ident.subset[2], <br />
act_type = "append", <br />
#language = "fin", <br />
who = wiki_username<br />
)<br />
#return(data)<br />
}<br />
<br />
jaehakukone <- function(main_ident, sivu = NULL, versio = NULL, jae = NULL) {<br />
filter <- list()<br />
if (is.null(versio)) versio <- get_current_version(main_ident)<br />
filter$Versio <- versio<br />
filter$Sivu <- sivu<br />
filter$JaeID <- jae<br />
<br />
out <- try_dl_rm(<br />
paste(main_ident, "Jakeet", sep = "."), <br />
paste(main_ident, "Jakeenlisaykset", sep = "."),<br />
filter = filter,<br />
rm_id = paste(main_ident, "Jakeenpoistot", sep = "."),<br />
rm_ind = "JaeID"<br />
)<br />
<br />
meta_data <- get_meta_data(main_ident, sivu)<br />
ids <- as.character(unique(meta_data$Ident))<br />
names <- as.character(unique(meta_data$Sivu))<br />
<br />
# If NULL matches all pages listed in Versiot<br />
if (length(ids) > 0) {<br />
for (i in 1:length(ids)) {<br />
temp <- try_dl_rm(<br />
paste(ids[i], "Kommentit", sep = "."), <br />
filter = filter,<br />
rm_id = paste(ids[i], "Kommentinpoistot", sep = "."),<br />
rm_ind = "JaeID"<br />
)<br />
if (nrow(temp) > 0) {<br />
temp$Sivu <- names[i]<br />
if(nrow(out) > 0) {<br />
for (i in colnames(out)[!colnames(out) %in% colnames(temp)]) {<br />
temp[[i]] <- NA<br />
}<br />
out <- rbind(out, temp[colnames(out)])<br />
} else {<br />
out <- temp<br />
}<br />
}<br />
}<br />
}<br />
<br />
return(out)<br />
}<br />
<br />
parse_page <- function(url, url_args = "", nchar_threshold = 11, res = "par") {<br />
turl <- paste(url, url_args, "&action=render", sep = "")<br />
a <- opasnet.page(turl, wiki = "opasnet_fi")<br />
<br />
par <- gregexpr("<p>(.*?)</p>", a)[[1]]<br />
par_out <- substr(rep(a, length(par)), par, par + attributes(par)$match.length)<br />
par_out <- gsub("<p>", "", par_out)<br />
par_out <- gsub("</p>", "", par_out)<br />
<br />
table <- gregexpr("<table[^>]*>(.*?)</table>", a)[[1]]<br />
td <- gregexpr("<td[^>]*>(.*?)</td>", a)[[1]]<br />
#th <- gregexpr("<th[^>]*>(.*?)</th>", a)[[1]]<br />
<br />
table_out <- substr(rep(a, length(td)), td, td + attributes(td)$match.length)<br />
table_out <- gsub("<td[^>]*>", "", table_out)<br />
table_out <- gsub("</td>", "", table_out)<br />
<br />
# Use paragraphs in table cells to break content (glitchy?)<br />
# At least it removes duplicates of <p> (due to matching <p> search as well as <td>)<br />
tdppos <- gregexpr("<p>(.*?)</p>", table_out)<br />
table_out <- gsub("<p>(.*?)</p>", "<super_separator>", table_out)<br />
tdp <- strsplit(table_out, "<super_separator>")<br />
tdpl <- sapply(tdp, length)<br />
temp <- list()<br />
# Find begin positions of <p> separated bits in <td><br />
for (i in (1:length(tdp))[tdpl > 1]) {<br />
temp[[i]] <- c(0, tdppos[[i]] + attributes(tdppos[[i]])$match.length) + td[i]<br />
}<br />
# Filter <td> with <p><br />
filter <- logical()<br />
for (i in 1:length(tdp)) {<br />
if (tdpl[i] == 1) val <- FALSE else val <- TRUE<br />
filter <- c(filter, rep(val, tdpl[i]))<br />
}<br />
tdp <- unlist(tdp)[filter]<br />
filter <- -(1:length(tdpl))[tdpl > 1]<br />
# Filter out<br />
table_out <- table_out[filter]<br />
td <- td[filter]<br />
# Add new bits and positions to end of filtered original<br />
table_out <- c(table_out, tdp)<br />
td <- c(td, unlist(temp))<br />
<br />
li <- gregexpr("<li>(.*?)</li>", a)[[1]]<br />
li_out <- substr(rep(a, length(li)), li, li + attributes(li)$match.length)<br />
li_out <- gsub("<li>", "", li_out)<br />
li_out <- gsub("</li>", "", li_out)<br />
<br />
dd <- gregexpr("<dd>(.*?)</dd>", a)[[1]]<br />
dd_out <- substr(rep(a, length(dd)), dd, dd + attributes(dd)$match.length)<br />
dd_out <- gsub("<dd>", "", dd_out)<br />
dd_out <- gsub("</dd>", "", dd_out)<br />
<br />
out <- c(par_out, table_out, li_out, dd_out)<br />
pos <- order(c(par, td, li, dd))<br />
out <- out[pos]<br />
pos <- c(par, td, li, dd)[pos]<br />
<br />
filter <- nchar(out) > nchar_threshold<br />
out <- out[filter]<br />
pos <- pos[filter]<br />
<br />
# Resolution beyond paragraph<br />
if (res == "sentence") {<br />
per <- gregexpr("\\.|\\?|!", out)<br />
per_out <- list()<br />
for (i in 1:length(out)) {<br />
per_out[[i]] <- substr(<br />
rep(out[i], length(per[[i]]) + 1), <br />
c(0, per[[i]]) + 1, <br />
c(per[[i]], nchar(out[i]))<br />
)<br />
j <- 2<br />
while (j < length(per_out[[i]]) + 1) {<br />
if (nchar(gsub("\\s", "", per_out[[i]][j])) < 4) {<br />
per_out[[i]][j - 1] <- paste(per_out[[i]][j - 1], per_out[[i]][j], sep = "")<br />
per_out[[i]] <- per_out[[i]][-j]<br />
if (j - 1 < length(per_out[[i]])) {<br />
per_out[[i]][j - 1] <- paste(per_out[[i]][j - 1], per_out[[i]][j], sep = "")<br />
per_out[[i]] <- per_out[[i]][-j]<br />
}<br />
} else {<br />
j <- j + 1<br />
}<br />
}<br />
#j <- length(per_out[[i]])<br />
#while (j > 0) {<br />
# if (nchar(gsub("\\s", "", per_out[[i]][j])) < nchar_threshold) {<br />
# per_out[[i]][j - 1] <- paste(per_out[[i]][j - 1], per_out[[i]][j], sep = "")<br />
# per_out[[i]] <- per_out[[i]][-j]<br />
# } else {<br />
# j <- j - 1<br />
# }<br />
#}<br />
}<br />
out <- unlist(per_out)<br />
pos <- rep(pos, sapply(per_out, length))<br />
<br />
filter <- nchar(out) > nchar_threshold<br />
out <- out[filter]<br />
pos <- pos[filter]<br />
<br />
out <- gsub("^\\s*|\\s*$", "", out)<br />
out <- gsub("\\n", " ", out)<br />
<br />
# Advanced natural language processing not available for finnish language<br />
#require(NLP)<br />
#require(openNLP)<br />
#s <- as.String(s)<br />
#sent_token_annotator <- Maxent_Sent_Token_Annotator("fi")<br />
#sent_token_annotator<br />
#a1 <- annotate(s, sent_token_annotator)<br />
#a1<br />
## Extract sentences.<br />
#s[a1]<br />
}<br />
<br />
<br />
# Level 2 header = Topic<br />
h2 <- gregexpr("<h2>(.*?)</h2>", a)[[1]]<br />
h2_out <- substr(rep(a, length(par)), h2, h2 + attributes(h2)$match.length)<br />
h2_out <- gsub("<[^>]*>", "", h2_out)<br />
<br />
out <- data.frame(<br />
Aihe = NA, <br />
JaeID = as.character(1:length(out)), <br />
Result = out<br />
)<br />
<br />
for (i in 1:length(h2)) {<br />
filter2 <- pos < c(h2, Inf)[i + 1] & pos > h2[i]<br />
out$Aihe[filter2] <- h2_out[i]<br />
}<br />
<br />
return(out)<br />
}<br />
<br />
objects.store(get_page_ident, get_meta_data, get_current_version, try_dl_rm, upload_with_autoid, jaehakukone, parse_page)<br />
</rcode><br />
<br />
== Kooditemplaatteja ==<br />
<pre><br />
#######################<br />
# Add script template #<br />
#######################<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
ident.subset <- paste(page_ident, "subset", sep = ".")<br />
<br />
version <- get_current_version("main_ident")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Result = input<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "XID",<br />
prefix = "",<br />
filter = filter<br />
)<br />
</pre><br />
<br />
== Ohjeita ==<br />
<br />
:''Tägikone kuuluu osana laajempaan kokonaisuuteen [[Tuotosten jäsentäminen Opasnetissä]]. Katso tarkemmat ohjeet sieltä.</div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Juomaveden_desinfiointi&diff=27161
Juomaveden desinfiointi
2014-10-28T10:30:47Z
<p>Teemu R: /* Laskenta */</p>
<hr />
<div>[[Luokka:Talousvesi]]<br />
[[Luokka:Vesiopas]]<br />
{{muuttuja|moderator=Tiinu}}<br />
[[Luokka:Sisältää R-koodia]]<br />
== Kysymys ==<br />
<br />
Mikä on juomaveden desinfiointimenetelmien tehokkuus log-puhdistumana ilmoitettuna?<br />
<br />
== Vastaus ==<br />
<br />
<rcode embed=1><br />
library(OpasnetUtils)<br />
<br />
objects.latest("Op_fi2993", code_name = "muuttuja")<br />
<br />
</rcode><br />
<br />
== Perustelut ==<br />
<br />
=== Data ===<br />
<br />
{| {{prettytable}}<br />
|+ Desinfiointimenetelmien tehon viitteet<br />
! Menetelmä<br />
! Kampylobakteeri<br />
! E.coli O157:H7<br />
! Rotavirus<br />
! Norovirus<br />
! Cryptosporidium<br />
! Giardia<br />
|----<br />
| UV<br />
| <ref name="hijnen2006">Hijnen et al. 2006: Inactivation credit of UV radiation for viruses, bacteria and protozoan (oo)cyst in water: a review. Water Research 40(1) p3-22</ref><br />
| <ref name="hijnen2006"/><br />
| <ref name="hijnen2006"/><br />
| <ref name="hijnen2006"/><br />
| <ref name="hijnen2006"/><br />
| <ref name="hijnen2006"/><br />
|----<br />
| Klooraus<br />
| <ref>Blaser, M. J., Smith, P. F., Wang, W.‐L. L. and Hoff, J. C. (1986). "Inactivation of Campylobacter jejuni by Chlorine and Monochloramine." Applied and Environmental Microbiology 51(2): 307‐311.</ref>; <ref>Lund, V. (1996). "Evaluation of E. coli as an indicator for the presence of Campylobacter jejuni and Yersinia enterocolitica in chlorinated and untreated oligotrophic lake water." Water Research 30(6): 1528‐ 1534.</ref><br />
| <ref>Blaser, M. J., Smith, P. F., Wang, W.‐L. L. and Hoff, J. C. (1986). "Inactivation of Campylobacter jejuni by Chlorine and Monochloramine." Applied and Environmental Microbiology 51(2): 307‐311.</ref>; <ref>Lund, V. (1996). "Evaluation of E. coli as an indicator for the presence of Campylobacter jejuni and Yersinia enterocolitica in chlorinated and untreated oligotrophic lake water." Water Research 30(6): 1528‐ 1534.</ref><br />
| <ref>Rice, E. W., Hoff, J. C. and III, F. W. S. (1982). "Inactivation of Giardia cysts by chlorine." Applied and Environmental Microbiology 43(1): 250‐251</ref><br />
| <ref>Keswick, B. H., Satterwhite, T. K., Johnson, P. C., DuPont, H. L., Secor, S. L., Bitsura, J. A., Gary, G. W. and Hoff, J. C. (1985). Inactivation of norwalk virus in drinking water by chlorine. Applied and Environmental Microbiology 50(2): 261-264.</ref><br />
| <ref>Benito Corona-Vasquez, Amy Samuelson, Jason L. Rennecker and Benito J. Mariñas (2002): Inactivation of Cryptosporidium parvum oocysts with ozone and free chlorine. Water Research 36, 4053-4063</ref> <br />
| <ref>Rice, E. W., Hoff, J. C. and III, F. W. S. (1982). "Inactivation of Giardia cysts by chlorine." Applied and Environmental Microbiology 43(1): 250‐251</ref><br />
|----<br />
| Otsonointi<br />
| <br />
| <br />
| <br />
| <br />
| <ref name="haas2003">Haas CN, Kaymak B. 2003. Effect of initial microbial density on inactivation of Giardia muris by ozone.Water Res. 2003 Jul;37(12):2980-8.</ref> <br />
| <ref name="haas2003">Haas CN, Kaymak B. 2003. Effect of initial microbial density on inactivation of Giardia muris by ozone.Water Res. 2003 Jul;37(12):2980-8.</ref> <br />
|----<br />
|}<br />
<br />
<br />
<t2b index = "Puhdistusmenetelmä,Patogeeni,Yksikkö" unit = "logaritminen poiistoteho"><br />
Klooraus|Kampylobakteeri|Logaritminen mikrobien poistoteho|8.837981871 <br />
Klooraus|E.coli O157:H7|Logaritminen mikrobien poistoteho|7.182699561<br />
Klooraus|Rotavirus|Logaritminen mikrobien poistoteho|11.97117474<br />
Klooraus|Norovirus|Logaritminen mikrobien poistoteho|13.55252482<br />
Klooraus|Cryptosporidium|Logaritminen mikrobien poistoteho|0<br />
Klooraus|Giardia|Logaritminen mikrobien poistoteho|0.095329311<br />
UV|Kampylobakteeri|Logaritminen mikrobien poistoteho|26.4<br />
UV|E.coli O157:H7|Logaritminen mikrobien poistoteho|19.3<br />
UV|Rotavirus|Logaritminen mikrobien poistoteho|3.1<br />
UV|Norovirus|Logaritminen mikrobien poistoteho|3.2<br />
UV|Cryptosporidium|Logaritminen mikrobien poistoteho|8.8<br />
UV|Giardia|Logaritminen mikrobien poistoteho|5.0<br />
Otsonointi|Kampylobakteeri|Logaritminen mikrobien poistoteho|0<br />
Otsonointi|E.coli O157:H7|Logaritminen mikrobien poistoteho|0<br />
Otsonointi|Rotavirus|Logaritminen mikrobien poistoteho|0<br />
Otsonointi|Norovirus|Logaritminen mikrobien poistoteho|0<br />
Otsonointi|Cryptosporidium|Logaritminen mikrobien poistoteho|2<br />
Otsonointi|Giardia|Logaritminen mikrobien poistoteho|2<br />
</t2b><br />
<br />
=== Laskenta ===<br />
<br />
<rcode <br />
name="muuttuja" <br />
label="Alusta muuttuja" <br />
embed=1<br />
><br />
library(OpasnetUtils)<br />
<br />
Desinfiointi <- Ovariable("Desinfiointi", ddata = "Op_fi2993", save = TRUE)<br />
<br />
cat("Ovariable Desinfiointi tallennettu.\n")<br />
<br />
oprint(Desinfiointi)<br />
<br />
</rcode><br />
<br />
==Katso myös==<br />
<br />
* [[Vesiopas]]<br />
* [[Klooraus]]<br />
* [[Patogeenien pitoisuudet puhdistetussa juomavedessä]]<br />
<br />
==Viitteet==<br />
<br />
<references/><br />
<br />
{{eracedu}}</div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Juomaveden_desinfiointi&diff=27157
Juomaveden desinfiointi
2014-10-27T20:33:24Z
<p>Teemu R: /* Data */ uudet arvot UV käsittelylle, fluenssi = 30 (Jm^-2?)</p>
<hr />
<div>[[Luokka:Talousvesi]]<br />
[[Luokka:Vesiopas]]<br />
{{muuttuja|moderator=Tiinu}}<br />
[[Luokka:Sisältää R-koodia]]<br />
== Kysymys ==<br />
<br />
Mikä on juomaveden desinfiointimenetelmien tehokkuus log-puhdistumana ilmoitettuna?<br />
<br />
== Vastaus ==<br />
<br />
<rcode embed=1><br />
library(OpasnetUtils)<br />
<br />
objects.latest("Op_fi2993", code_name = "muuttuja")<br />
<br />
</rcode><br />
<br />
== Perustelut ==<br />
<br />
=== Data ===<br />
<br />
{| {{prettytable}}<br />
|+ Desinfiointimenetelmien tehon viitteet<br />
! Menetelmä<br />
! Kampylobakteeri<br />
! E.coli O157:H7<br />
! Rotavirus<br />
! Norovirus<br />
! Cryptosporidium<br />
! Giardia<br />
|----<br />
| UV<br />
| <ref name="hijnen2006">Hijnen et al. 2006: Inactivation credit of UV radiation for viruses, bacteria and protozoan (oo)cyst in water: a review. Water Research 40(1) p3-22</ref><br />
| <ref name="hijnen2006"/><br />
| <ref name="hijnen2006"/><br />
| <ref name="hijnen2006"/><br />
| <ref name="hijnen2006"/><br />
| <ref name="hijnen2006"/><br />
|----<br />
| Klooraus<br />
| <ref>Blaser, M. J., Smith, P. F., Wang, W.‐L. L. and Hoff, J. C. (1986). "Inactivation of Campylobacter jejuni by Chlorine and Monochloramine." Applied and Environmental Microbiology 51(2): 307‐311.</ref>; <ref>Lund, V. (1996). "Evaluation of E. coli as an indicator for the presence of Campylobacter jejuni and Yersinia enterocolitica in chlorinated and untreated oligotrophic lake water." Water Research 30(6): 1528‐ 1534.</ref><br />
| <ref>Blaser, M. J., Smith, P. F., Wang, W.‐L. L. and Hoff, J. C. (1986). "Inactivation of Campylobacter jejuni by Chlorine and Monochloramine." Applied and Environmental Microbiology 51(2): 307‐311.</ref>; <ref>Lund, V. (1996). "Evaluation of E. coli as an indicator for the presence of Campylobacter jejuni and Yersinia enterocolitica in chlorinated and untreated oligotrophic lake water." Water Research 30(6): 1528‐ 1534.</ref><br />
| <ref>Rice, E. W., Hoff, J. C. and III, F. W. S. (1982). "Inactivation of Giardia cysts by chlorine." Applied and Environmental Microbiology 43(1): 250‐251</ref><br />
| <ref>Keswick, B. H., Satterwhite, T. K., Johnson, P. C., DuPont, H. L., Secor, S. L., Bitsura, J. A., Gary, G. W. and Hoff, J. C. (1985). Inactivation of norwalk virus in drinking water by chlorine. Applied and Environmental Microbiology 50(2): 261-264.</ref><br />
| <ref>Benito Corona-Vasquez, Amy Samuelson, Jason L. Rennecker and Benito J. Mariñas (2002): Inactivation of Cryptosporidium parvum oocysts with ozone and free chlorine. Water Research 36, 4053-4063</ref> <br />
| <ref>Rice, E. W., Hoff, J. C. and III, F. W. S. (1982). "Inactivation of Giardia cysts by chlorine." Applied and Environmental Microbiology 43(1): 250‐251</ref><br />
|----<br />
| Otsonointi<br />
| <br />
| <br />
| <br />
| <br />
| <ref name="haas2003">Haas CN, Kaymak B. 2003. Effect of initial microbial density on inactivation of Giardia muris by ozone.Water Res. 2003 Jul;37(12):2980-8.</ref> <br />
| <ref name="haas2003">Haas CN, Kaymak B. 2003. Effect of initial microbial density on inactivation of Giardia muris by ozone.Water Res. 2003 Jul;37(12):2980-8.</ref> <br />
|----<br />
|}<br />
<br />
<br />
<t2b index = "Puhdistusmenetelmä,Patogeeni,Yksikkö" unit = "logaritminen poiistoteho"><br />
Klooraus|Kampylobakteeri|Logaritminen mikrobien poistoteho|8.837981871 <br />
Klooraus|E.coli O157:H7|Logaritminen mikrobien poistoteho|7.182699561<br />
Klooraus|Rotavirus|Logaritminen mikrobien poistoteho|11.97117474<br />
Klooraus|Norovirus|Logaritminen mikrobien poistoteho|13.55252482<br />
Klooraus|Cryptosporidium|Logaritminen mikrobien poistoteho|0<br />
Klooraus|Giardia|Logaritminen mikrobien poistoteho|0.095329311<br />
UV|Kampylobakteeri|Logaritminen mikrobien poistoteho|26.4<br />
UV|E.coli O157:H7|Logaritminen mikrobien poistoteho|19.3<br />
UV|Rotavirus|Logaritminen mikrobien poistoteho|3.1<br />
UV|Norovirus|Logaritminen mikrobien poistoteho|3.2<br />
UV|Cryptosporidium|Logaritminen mikrobien poistoteho|8.8<br />
UV|Giardia|Logaritminen mikrobien poistoteho|5.0<br />
Otsonointi|Kampylobakteeri|Logaritminen mikrobien poistoteho|0<br />
Otsonointi|E.coli O157:H7|Logaritminen mikrobien poistoteho|0<br />
Otsonointi|Rotavirus|Logaritminen mikrobien poistoteho|0<br />
Otsonointi|Norovirus|Logaritminen mikrobien poistoteho|0<br />
Otsonointi|Cryptosporidium|Logaritminen mikrobien poistoteho|2<br />
Otsonointi|Giardia|Logaritminen mikrobien poistoteho|2<br />
</t2b><br />
<br />
=== Laskenta ===<br />
<br />
<rcode <br />
name="muuttuja" <br />
label="Alusta muuttuja" <br />
embed=1<br />
><br />
library(OpasnetUtils)<br />
<br />
Desinfiointi <- Ovariable("Desinfiointi", ddata = "Op_fi2993", save = TRUE)<br />
<br />
cat("Ovariable Desinfiointi tallennettu.n\")<br />
<br />
oprint(Desinfiointi)<br />
<br />
</rcode><br />
<br />
==Katso myös==<br />
<br />
* [[Vesiopas]]<br />
* [[Klooraus]]<br />
* [[Patogeenien pitoisuudet puhdistetussa juomavedessä]]<br />
<br />
==Viitteet==<br />
<br />
<references/><br />
<br />
{{eracedu}}</div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Vesiopas&diff=27120
Vesiopas
2014-10-20T10:10:52Z
<p>Teemu R: /* Riippuvuudet */</p>
<hr />
<div>[[Luokka:Talousvesi]]<br />
[[Luokka:Avoin malli]]<br />
[[Luokka:Malli]]<br />
[[Luokka:Vesiopas]]<br />
[[Luokka:Tutkimushanke]]<br />
[[Luokka:Sisältää R-koodia]]<br />
[[Tiedosto:Talousveden_riskinarviointi.png|thumb|500px]]<br />
<u>HUOM! TÄTÄ SIVUA PÄIVITETÄÄN PARHAILLAAN! SIVUN ARVIOINTIMALLI EI OLE KÄYTÖSSÄ EIKÄ SEN TULOKSIEN OIKEELLISUUTTA TAATA PÄIVITYKSEN AIKANA. </u><br />
<br />
'''Vesiopas - Arviointi vedenlaadun terveysvaikutuksista''' käsittelee juomaveden mahdollisia mikrobiologisia terveysriskejä. Mikrobiologisten riskien taustana on raakaveden kontaminoituminen mikrobeilla joista aiheutuu mahdollista terveyshaittaa vesijohtovettä käyttäville ihmisille, sekä juomaveden käsittelyprosessien tehokkuus, joka voi olla riittämätön poistamaan haitalliset mikrobit juomavedestä. Arvioinnilla määritetään, minkä suuruinen mahdollinen terveysriski on tietyillä raakaveden mikrobeilla. Arviointi perustuu matemaattiselle Vesiopas-mallille, joka esitellään alla.<br />
<br />
== Kysymys ==<br />
<br />
Miten arvioidaan juomaveden mikrobiologisia riskejä sekä niiden aiheuttamia terveysvaikutuksia? Erilaisten vedenpuhdistuslaitosten tietoja pitää voida syöttää arviointiin lähtötiedoiksi.<br />
<br />
==Vesiopasmalli==<br />
<br />
<rcode name="answer" graphics=1 variables="<br />
name:RaakaLuokka|description:Raakaveden luokitus|type:selection|<br />
options:<br />
'Pohjavesi - Puhdas';Pohjavesi - Puhdas;<br />
'Pohjavesi - Pintavesikuormitus';Pohjavesi - Pintavesikuormitus;<br />
'Pintavesi - Vähäinen kuormitus';Pintavesi - Vähäinen kuormitus;<br />
'Pintavesi - Keskisuuri kuormitus';Pintavesi - Keskisuuri kuormitus;<br />
'Pintavesi - Suuri kuormitus';Pintavesi - Suuri kuormitus;<br />
'Käyttäjä';Määrittelen mikrobipitoisuudet itse|<br />
category:Perustiedot|<br />
name:IVedenkulutus|default:1.153|description:Veden juominen (litraa /pvä)|<br />
name:Vaestonkoko|default:100000|description:Altistuvan väestön koko|<br />
<br />
name:Kampylo|description:Kampylobakteeri-pitoisuus arvio (mikrobia/l)|default:0|<br />
category:Raakaveden mikrobipitoisuudet|<br />
category_conditions:RaakaLuokka;'Käyttäjä'|<br />
name:Ecoli|description:E.coli O157:H7 -pitoisuus arvio (mikrobia/l)|default:0|<br />
name:Rota|description:Rotavirus-pitoisuus arvio (mikrobia/l)|default:0|<br />
name:Noro|description:Norovirus-pitoisuus arvio (mikrobia/l)|default:0|<br />
name:Crypto|description:Cryptosporidium-pitoisuus arvio (mikrobia/l)|default:0|<br />
name:Giardia|description:Giardia-pitoisuus arvio (mikrobia/l)|default:0|<br />
name:Kaupunki|description:Kaupungin oletusarvot|default:'Custom'|type:selection|<br />
options:<br />
'Custom';- valitse -;<br />
'Op_fi2603';Kuopio|<br />
category:Kaupungin oletusarvot|<br />
category_conditions:IKlooriannos;'Käytetään tietoja kaupungin puhdistusprosessista'|<br />
name:Puhdistus|description:Käytössä olevat puhdistusmenetelmät|type:checkbox|options:<br />
1;Perinteinen puhdistus;<br />
2;Hyvin toimva puhdistus;<br />
3;Tehostettu puhdistus;<br />
4;Hidas hiekkasuodatus;<br />
5;Kalkkikivisuodatus;<br />
6;Aktiivihiilisuodatus;<br />
7;UV suodatus;<br />
8;Otsonointi|default:1;4;5;6|<br />
category:Vedenpuhdistus: Puhdistusprosessi ja klooraus|<br />
name:IKlooriAnnos|default:1.5|description:Klooriannos (mg/l)<br />
"><br />
library(OpasnetUtils)<br />
library(ggplot2)<br />
library(reshape2)<br />
<br />
if(RaakaLuokka != 'Käyttäjä') {<br />
Kampylo <- 'Luokituksen mukainen'<br />
Ecoli <- 'Luokituksen mukainen'<br />
Rota <- 'Luokituksen mukainen'<br />
Noro <- 'Luokituksen mukainen'<br />
Crypto <- 'Luokituksen mukainen'<br />
Giardia <- 'Luokituksen mukainen'<br />
}<br />
<br />
IRaakaPitoisuus <- list(Kampylo, Ecoli, Rota, Noro, Crypto, Giardia)<br />
<br />
# Vedenkulutus<br />
<br />
if (!is.na(suppressWarnings(as.numeric(IVedenkulutus)))) {<br />
InpVedenkulutus = data.frame(VedenkulutusResult = IVedenkulutus)<br />
InpVedenkulutus = Ovariable("Vedenkulutus", output = InpVedenkulutus)<br />
}<br />
<br />
# Patogeenien pitoisuudet<br />
<br />
objects.latest("Op_fi2655", "muuttuja") # [[Raakaveden patogeenipitoisuudet]] RaakaPitoisuus, customoitia varten<br />
<br />
RaakaPitoisuus <- EvalOutput(RaakaPitoisuus)<br />
<br />
temp <- RaakaPitoisuus@output<br />
<br />
temp <- temp[as.character(temp$Raakavesilähde) == RaakaLuokka, ]<br />
<br />
temp <- merge(<br />
temp, <br />
data.frame(<br />
Patogeeni = c("Kampylobakteeri","E.coli O157:H7","Rotavirus","Norovirus","Cryptosporidium","Giardia"), <br />
TempResult = suppressWarnings(as.numeric(IRaakaPitoisuus))<br />
)<br />
)<br />
temp$RaakaPitoisuusResult <- ifelse(<br />
is.na(temp$TempResult), <br />
temp$RaakaPitoisuusResult,<br />
temp$TempResult<br />
)<br />
RaakaPitoisuus@output <- temp[, !colnames(temp) %in% c("TempResult", "Raakavesilähde")]<br />
<br />
temp <- rep(FALSE,9) # vaihtoehdot + klooraus joka on mallin rakenteesta johtuen aina epätosi<br />
temp[Puhdistus] <- TRUE<br />
Puhdistus <- temp<br />
<br />
if (!is.na(suppressWarnings(as.numeric(IKlooriAnnos)))) if (IKlooriAnnos >= 0) {<br />
InpKlooriAnnos <- Ovariable("KlooriAnnos", output = data.frame(KlooriAnnosResult = IKlooriAnnos))<br />
}<br />
<br />
# Käsitellään puhdistusmenetelmät käsin tätä mallia varten<br />
<br />
riippuvuudet <- data.frame(<br />
Name = c("RaakaPitoisuus", "Desinfiointi", "PuhdistusTeho", "KloorausTeho"),<br />
Ident = c("Op_fi2655/muuttuja", "Op_fi2993/muuttuja", "Op_fi2656/muuttuja", "Op_fi2667/tehokkuus")<br />
)<br />
<br />
objects.latest("Op_fi2993", "muuttuja") # [[Juomaveden desinfiointi]] Desinfiointi: klooraus ym<br />
<br />
objects.latest("Op_fi2656", "muuttuja") # [[Vedenkäsittelyn tehokkuus]] PuhdistusTeho: suodatukset ym<br />
<br />
PuhdistusTeho <- EvalOutput(PuhdistusTeho)<br />
Desinfiointi <- EvalOutput(Desinfiointi)<br />
<br />
Puhdistus <- data.frame(<br />
Käytössä = Puhdistus, <br />
Puhdistusmenetelmä = c("Perinteinen puhdistus", "Hyvin toimva puhdistus", <br />
"Tehostettu puhdistus" ,"Hidas hiekkasuodatus", "Kalkkikivisuodatus", <br />
"Aktiivihiilisuodatus", "UV", "Otsonointi", "Klooraus")<br />
)<br />
<br />
PuhdistusTeho@output <- merge(PuhdistusTeho@output, Puhdistus[1:6,]) # Vedenkäsittelymenetelmät<br />
<br />
Desinfiointi@output <- merge(Desinfiointi@output, Puhdistus[7:9,]) # Desinfiointimenetelmät<br />
<br />
PuhdistusTeho@output$PuhdistusTehoResult <- ifelse(<br />
PuhdistusTeho@output$Käytössä,<br />
PuhdistusTeho@output$PuhdistusTehoResult,<br />
0<br />
)<br />
Desinfiointi@output$DesinfiointiResult <- ifelse(<br />
Desinfiointi@output$Käytössä,<br />
Desinfiointi@output$DesinfiointiResult,<br />
0<br />
)<br />
<br />
# Poistetaan "Käytössä" kolumni<br />
PuhdistusTeho@output <- PuhdistusTeho@output[, !colnames(PuhdistusTeho@output) == "Käytössä"]<br />
Desinfiointi@output <- Desinfiointi@output[, !colnames(Desinfiointi@output) == "Käytössä"]<br />
<br />
objects.latest("Op_fi1759", "muuttuja") # [[Infektion todennäköisyys per henkilö]] Vaste<br />
<br />
Vaste <- EvalOutput(Vaste, substitute = TRUE)<br />
<br />
#################################################################################<br />
<br />
dose.response = Vaste@output<br />
<br />
Pathogen <- c("Kampylobakteeri","E.coli O157:H7","Rotavirus","Norovirus","Cryptosporidium","Giardia")<br />
<br />
vaesto <- opbase.data("Op_fi2652")[,c("Ikä","Result")] # [[Suomen ikäjakauma]]<br />
colnames(vaesto) <- c("Age", "Osuus")<br />
<br />
vaesto$Populaatio <- vaesto$Osuus * Vaestonkoko<br />
<br />
odotettu.elinika <- 81<br />
<br />
colnames(dose.response)[colnames(dose.response) == "Patogeeni"] <- "Pathogen"<br />
colnames(dose.response)[colnames(dose.response) == "VasteResult"] <- "P.inf"<br />
colnames(dose.response)[colnames(dose.response) == "AltistuminenResult"] <- "Exp.pat"<br />
<br />
P.ill.g.inf <- data.frame(Pathogen, P.ill.g.inf = c(0.33, 1 - (270 / 1540), 0.9, 0.7, 0.71, 1)) # todennäköisyys sairastua kun saa infektion<br />
<br />
# Kampylobakteeri, DALYt per infektio<br />
<br />
P.treat.g.ill.Kamp.Gastr <- data.frame(Pathogen = Pathogen[c(1,1,1)], Outcome = "Gastroenteritis", ill.treat = c("Untreated", <br />
"General practitioner", "Hospitalised", "Unspecified")[c(1,2,3)], P.treat.g.ill = c(0.7627, 0.2373, 0.0097))<br />
<br />
P.treat.ill.g.inf.Kamp.Gastr <- merge(P.treat.g.ill.Kamp.Gastr, P.ill.g.inf)<br />
P.treat.ill.g.inf.Kamp.Gastr$P.treat.ill.g.inf <- P.treat.ill.g.inf.Kamp.Gastr$P.ill.g.inf * <br />
P.treat.ill.g.inf.Kamp.Gastr$P.treat.g.ill<br />
<br />
duration.ill.treat.Kamp.Gastr <- data.frame(Outcome = c("Gastroenteritis"), ill.treat = c("Untreated", "General practitioner", <br />
"Hospitalised", "Unspecified")[c(1,2,3)], dur.ill = c(5.1 / 365, 8.4 / 365, 14.39 / 365))<br />
<br />
severity.ill.treat.Kamp.Gastr <- data.frame(Outcome = c("Gastroenteritis"), ill.treat = c("Untreated", "General practitioner", <br />
"Hospitalised", "Unspecified")[c(1,2,3)], sev.ill = c(0.067, 0.393, 0.393))<br />
<br />
daly.ill.treat.Kamp.Gastr <- merge(P.treat.ill.g.inf.Kamp.Gastr, duration.ill.treat.Kamp.Gastr)<br />
daly.ill.treat.Kamp.Gastr <- merge(daly.ill.treat.Kamp.Gastr, severity.ill.treat.Kamp.Gastr)<br />
daly.ill.treat.Kamp.Gastr$dalys <- daly.ill.treat.Kamp.Gastr$P.treat.ill.g.inf * daly.ill.treat.Kamp.Gastr$dur.ill * <br />
daly.ill.treat.Kamp.Gastr$sev.ill<br />
<br />
<br />
P.death.g.ill.Gastr <- 0.0004<br />
P.death.g.inf.Gastr <- P.death.g.ill.Gastr * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "Kampylobakteeri"]<br />
death.Gastr.life.lost <- 13.2<br />
daly.death.Kamp.Gastr <- P.death.g.inf.Gastr * death.Gastr.life.lost<br />
<br />
## GBS Kamp.<br />
<br />
P.gbs.g.ill <- 2e-004<br />
P.gbs.g.inf <- P.gbs.g.ill * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "Kampylobakteeri"]<br />
dur.sev.factor.gbs <- data.frame(Outcome = c("Clinical GBS", "Residual GBS"), dur.sev.factor = c(0.29, 5.8)) # duration * severity * fraction?<br />
daly.Kamp.gbs <- data.frame(dur.sev.factor.gbs$Outcome, dalys = dur.sev.factor.gbs$dur.sev.factor * P.gbs.g.inf)<br />
<br />
P.death.g.gbs <- 0.08 / 3 # triangular 0.01, 0.02, 0.05<br />
P.death.g.inf.gbs <- P.death.g.gbs * P.gbs.g.inf<br />
death.gbs.life.lost <- 18.7<br />
daly.death.Kamp.gbs <- P.death.g.inf.gbs * death.gbs.life.lost<br />
<br />
## reactive arthritis Kamp.<br />
<br />
P.arth.g.ill <- 0.02 # triangluar 0.01, 0.02, 0.03<br />
P.arth.g.inf <- P.arth.g.ill * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "Kampylobakteeri"]<br />
duration.arth <- 6 / 52<br />
severity.arth <- 0.21<br />
daly.Kamp.arth <- P.arth.g.inf * duration.arth * severity.arth<br />
<br />
# E.coli<br />
<br />
P.wd.g.ill <- 0.53 # watery diarrhea<br />
P.wd.g.inf <- P.wd.g.ill * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "E.coli O157:H7"]<br />
severity.wd <- 0.067<br />
duration.wd <- 3.4 / 365<br />
daly.wd.Ecoli <- P.wd.g.inf * severity.wd * duration.wd<br />
<br />
P.hc.g.ill <- 0.47<br />
P.hc.g.inf <- P.hc.g.ill * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "E.coli O157:H7"]<br />
severity.hc <- 0.39<br />
duration.hc <- 5.6 / 365<br />
daly.hc.Ecoli <- P.hc.g.inf * severity.hc * duration.hc<br />
<br />
P.death.g.ill.Ecoli <- 0.00027<br />
P.death.g.inf.Ecoli <- P.death.g.ill.Ecoli * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "E.coli O157:H7"]<br />
age.death.Ecoli <- 81 - 13.2<br />
daly.death.Ecoli <- P.death.g.inf.Ecoli * (odotettu.elinika - age.death.Ecoli)<br />
<br />
## Haemolytic uraemic syndrome (HUS)<br />
<br />
P.hus.g.ill <- 0.01<br />
P.hus.g.inf <- P.hus.g.ill * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "E.coli O157:H7"]<br />
severity.hus <- 0.93<br />
duration.hus <- 21 / 365<br />
daly.hus.Ecoli <- P.hus.g.inf * severity.hus * duration.hus<br />
<br />
P.death.g.hus <- 0.04<br />
P.death.hus.g.inf <- P.death.g.hus * P.hus.g.inf<br />
age.death.hus.Ecoli <- 81 - 26.2<br />
daly.death.hus.Ecoli <- P.death.hus.g.inf * (odotettu.elinika - age.death.hus.Ecoli)<br />
<br />
## End Stage Renal Disease (ESRD)<br />
<br />
P.esrd.g.hus <- 0.118<br />
P.esrd.g.inf <- P.hus.g.inf * P.esrd.g.hus<br />
severity.duration.hus <- 8.7 # severity * duration<br />
daly.esrd.Ecoli <- P.esrd.g.inf * severity.duration.hus<br />
<br />
P.death.g.esrd <- 0.0252<br />
P.death.esrd.g.inf <- P.esrd.g.inf * P.death.g.esrd<br />
age.death.esrd.Ecoli <- 81 - 34<br />
daly.death.esrd.Ecoli <- P.death.esrd.g.inf * (odotettu.elinika - age.death.esrd.Ecoli)<br />
<br />
# Rotavirus<br />
<br />
P.treat.g.ill.Rotavirus <- data.frame(Pathogen = "Rotavirus", ill.treat = c("Untreated", <br />
"General practitioner", "Hospitalised")[rep(1:3, each = 82)], Age = rep(0:81, 3), P.treat.g.ill = c(rep(0.82,5), <br />
rep(0.95, 10), rep(0.99, 50), rep(0.97, 17), rep(0.137, 5), rep(0.0244, 5), rep(0.0511, 5), rep(0.0127, 50), <br />
rep(0.0299, 17), rep(0.0416, 5), rep(0.0213, 5), rep(0, 72)))<br />
<br />
P.treat.ill.g.inf.Rotavirus <- merge(P.treat.g.ill.Rotavirus, P.ill.g.inf)<br />
P.treat.ill.g.inf.Rotavirus$P.treat.g.inf <- P.treat.ill.g.inf.Rotavirus$P.ill.g.inf * P.treat.ill.g.inf.Rotavirus$P.treat.g.ill<br />
<br />
duration.ill.treat.Rotavirus <- data.frame(ill.treat = c("Untreated", "General practitioner","Hospitalised"), dur.ill = c(4.9 / 365, <br />
7.1 / 365, 7.7 / 365))<br />
<br />
severity.ill.treat.Rotavirus <- data.frame(ill.treat = c("Untreated", "General practitioner", "Hospitalised"), sev.ill = c(0.067, <br />
0.393, 0.393))<br />
<br />
daly.ill.treat.Rotavirus <- merge(P.treat.ill.g.inf.Rotavirus, duration.ill.treat.Rotavirus)<br />
daly.ill.treat.Rotavirus <- merge(daly.ill.treat.Rotavirus, severity.ill.treat.Rotavirus)<br />
daly.ill.treat.Rotavirus$dalys <- daly.ill.treat.Rotavirus$P.treat.g.inf * daly.ill.treat.Rotavirus$dur.ill * <br />
daly.ill.treat.Rotavirus$sev.ill<br />
<br />
<br />
P.death.Rotavirus <- data.frame(Age = 0:81, P.death.g.ill = c(rep(2.13e-005, 5), rep(0, 77)))<br />
P.death.Rotavirus$P.death.g.inf <- P.death.Rotavirus$P.death.g.ill * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "Rotavirus"]<br />
P.death.Rotavirus$Life.lost <- odotettu.elinika - P.death.Rotavirus$Age<br />
daly.death.Rotavirus <- data.frame(Age = P.death.Rotavirus$Age, dalys = P.death.Rotavirus$P.death.g.inf * P.death.Rotavirus$Life.lost)<br />
<br />
# Norovirus<br />
<br />
P.treat.g.ill.Norovirus <- data.frame(Pathogen = "Norovirus", ill.treat = c("Untreated", <br />
"General practitioner", "Hospitalised")[rep(1:3, each = 82)], Age = rep(0:81, 3), P.treat.g.ill = c(rep(0.94876706,5), <br />
rep(0.9902, 5), rep(0.98239, 5), rep(0.98434, 51), rep(0.992741, 16), rep(0.0448,5), rep(8.6e-003, 5), rep(0.0154, 5), <br />
rep(0.0137, 51), rep(6.17e-003, 16), rep(6.43e-003,5), rep(1.2e-003, 5), rep(2.21e-003, 5), rep(1.96e-003, 51), <br />
rep(8.85e-004, 16)))<br />
<br />
P.treat.ill.g.inf.Norovirus <- merge(P.treat.g.ill.Norovirus, P.ill.g.inf)<br />
P.treat.ill.g.inf.Norovirus$P.treat.g.inf <- P.treat.ill.g.inf.Norovirus$P.ill.g.inf * P.treat.ill.g.inf.Norovirus$P.treat.g.ill<br />
<br />
duration.ill.treat.Norovirus <- data.frame(ill.treat = c("Untreated", "General practitioner","Hospitalised"), dur.ill = c(3.8 / 365, <br />
5.73 / 365, 7.23 / 365))<br />
<br />
severity.ill.treat.Norovirus <- data.frame(ill.treat = c("Untreated", "General practitioner", "Hospitalised"), sev.ill = c(0.067, <br />
0.393, 0.393))<br />
<br />
daly.ill.treat.Norovirus <- merge(P.treat.ill.g.inf.Norovirus, duration.ill.treat.Norovirus)<br />
daly.ill.treat.Norovirus <- merge(daly.ill.treat.Norovirus, severity.ill.treat.Norovirus)<br />
daly.ill.treat.Norovirus$dalys <- daly.ill.treat.Norovirus$P.treat.g.inf * daly.ill.treat.Norovirus$dur.ill * <br />
daly.ill.treat.Norovirus$sev.ill<br />
<br />
P.death.Norovirus <- data.frame(Age = 0:81, P.death.g.ill = c(rep(2.94e-006, 5), rep(0, 61), rep(2.04e-004, 16)))<br />
P.death.Norovirus$P.death.g.inf <- P.death.Norovirus$P.death.g.ill * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "Norovirus"]<br />
P.death.Norovirus$Life.lost <- odotettu.elinika - P.death.Norovirus$Age<br />
daly.death.Norovirus <- data.frame(Age = P.death.Norovirus$Age, dalys = P.death.Norovirus$P.death.g.inf * P.death.Norovirus$Life.lost)<br />
<br />
# Cryptosporidium<br />
<br />
P.treat.g.ill.Crypt <- data.frame(Pathogen = "Cryptosporidium", ill.treat = c("Untreated", <br />
"General practitioner", "Hospitalised")[rep(1:3, each = 82)], Age = rep(0:81, 3), P.treat.g.ill = c(rep(0.9175730049999999,5), <br />
rep(0.80937, 5), rep(0.6810499999999999, 5), rep(0.9774191, 50), rep(0.94706, 17), rep(0.082,5), rep(0.188, 5), rep(0.316, 5), <br />
rep(0.0209, 50), rep(0.0367, 17), rep(4.26e-004,5), rep(2.63e-003, 5), rep(2.95e-003, 5), rep(1.66e-003, 50), rep(0.0146, 17)))<br />
<br />
P.treat.ill.g.inf.Crypt <- merge(P.treat.g.ill.Crypt, P.ill.g.inf)<br />
P.treat.ill.g.inf.Crypt$P.treat.g.inf <- P.treat.ill.g.inf.Crypt$P.ill.g.inf * P.treat.ill.g.inf.Crypt$P.treat.g.ill<br />
<br />
duration.ill.treat.Crypt <- data.frame(ill.treat = c("Untreated", "General practitioner","Hospitalised"), dur.ill = c(3.5 / 365, <br />
7 /365, 18.4 / 365))<br />
<br />
severity.ill.treat.Crypt <- data.frame(ill.treat = c("Untreated", "General practitioner", "Hospitalised"), sev.ill = c(0.067, <br />
0.393, 0.393))<br />
<br />
daly.ill.treat.Crypt <- merge(P.treat.ill.g.inf.Crypt, duration.ill.treat.Crypt)<br />
daly.ill.treat.Crypt <- merge(daly.ill.treat.Crypt, severity.ill.treat.Crypt)<br />
daly.ill.treat.Crypt$dalys <- daly.ill.treat.Crypt$P.treat.g.inf * daly.ill.treat.Crypt$dur.ill * <br />
daly.ill.treat.Crypt$sev.ill<br />
<br />
P.death.Crypt <- data.frame(Age = 0:81, P.death.g.ill = c(rep(9.95e-007, 5), rep(0, 10), rep(2.09e-005, 50), rep(1.64e-003, 17)))<br />
P.death.Crypt$P.death.g.inf <- P.death.Crypt$P.death.g.ill * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "Cryptosporidium"]<br />
P.death.Crypt$Life.lost <- odotettu.elinika - P.death.Crypt$Age<br />
daly.death.Crypt <- data.frame(Age = P.death.Crypt$Age, dalys = P.death.Crypt$P.death.g.inf * P.death.Crypt$Life.lost)<br />
<br />
# Giardia<br />
<br />
P.treat.g.ill.Giardia <- data.frame(Pathogen = "Giardia", ill.treat = c("Untreated", <br />
"General practitioner", "Hospitalised")[rep(1:3, each = 82)], Age = rep(0:81, 3), P.treat.g.ill = c(rep(0.9376,5), <br />
rep(0.91034, 5), rep(0.72642, 5), rep(0.92486, 50), 0.54596, rep(0.5365, 16), rep(0.0609,5), rep(0.0852, 5), rep(0.272, 5), <br />
rep(0.0721, 50), rep(0.451, 17), rep(1.5e-003,5), rep(4.46e-003, 5), rep(1.58e-003, 5), rep(3.04e-003, 51), rep(0.0125, 16)))<br />
<br />
P.treat.ill.g.inf.Giardia <- merge(P.treat.g.ill.Giardia, P.ill.g.inf)<br />
P.treat.ill.g.inf.Giardia$P.treat.g.inf <- P.treat.ill.g.inf.Giardia$P.ill.g.inf * P.treat.ill.g.inf.Giardia$P.treat.g.ill<br />
<br />
duration.ill.treat.Giardia <- data.frame(ill.treat = c("Untreated", "General practitioner","Hospitalised"), dur.ill = c(10 / 365, <br />
10 /365, 30 / 365))<br />
<br />
severity.ill.treat.Giardia <- data.frame(ill.treat = c("Untreated", "General practitioner", "Hospitalised"), sev.ill = c(0.067, <br />
0.393, 0.393))<br />
<br />
daly.ill.treat.Giardia <- merge(P.treat.ill.g.inf.Giardia, duration.ill.treat.Giardia)<br />
daly.ill.treat.Giardia <- merge(daly.ill.treat.Giardia, severity.ill.treat.Giardia)<br />
daly.ill.treat.Giardia$dalys <- daly.ill.treat.Giardia$P.treat.g.inf * daly.ill.treat.Giardia$dur.ill * <br />
daly.ill.treat.Giardia$sev.ill<br />
<br />
# yhteenveto DALYistä<br />
<br />
Health.effects <- vaesto[,c("Age","Populaatio")]<br />
<br />
Health.effects$Untreated.Gastr.Kamp <- daly.ill.treat.Kamp.Gastr[daly.ill.treat.Kamp.Gastr$ill.treat == "Untreated", c("dalys")]<br />
Health.effects$GP.Gastr.Kamp <- daly.ill.treat.Kamp.Gastr[daly.ill.treat.Kamp.Gastr$ill.treat == "General practitioner", c("dalys")]<br />
Health.effects$Hospitalised.Gastr.Kamp <- daly.ill.treat.Kamp.Gastr[daly.ill.treat.Kamp.Gastr$ill.treat == "Hospitalised", c("dalys")]<br />
Health.effects$Death.Gastr.Kamp <- daly.death.Kamp.Gastr<br />
<br />
Health.effects$Clinical.GBS.Kamp <- daly.Kamp.gbs$dalys[1]<br />
Health.effects$Residual.GBS.Kamp <- daly.Kamp.gbs$dalys[2]<br />
Health.effects$Death.GBS.Kamp <- daly.death.Kamp.gbs<br />
<br />
Health.effects$Arth.Kamp <- daly.Kamp.arth<br />
<br />
Health.effects$WD.Ecoli <- daly.wd.Ecoli<br />
Health.effects$HC.Ecoli <- daly.hc.Ecoli<br />
Health.effects$Death.Ecoli <- daly.death.Ecoli<br />
<br />
Health.effects$HUS.Ecoli <- daly.hus.Ecoli<br />
Health.effects$Death.HUS.Ecoli <- daly.death.hus.Ecoli<br />
<br />
Health.effects$ESRD.Ecoli <- daly.esrd.Ecoli<br />
Health.effects$Death.ESRD.Ecoli <- daly.death.esrd.Ecoli<br />
<br />
Health.effects <- merge(Health.effects, daly.ill.treat.Rotavirus[daly.ill.treat.Rotavirus$ill.treat == "Untreated", c("Age", "dalys")])<br />
colnames(Health.effects)[ncol(Health.effects)] <- "Untreated.Rotavirus"<br />
Health.effects <- merge(Health.effects, daly.ill.treat.Rotavirus[daly.ill.treat.Rotavirus$ill.treat == "General practitioner", c("Age", "dalys")])<br />
colnames(Health.effects)[ncol(Health.effects)] <- "GP.Rotavirus"<br />
Health.effects <- merge(Health.effects, daly.ill.treat.Rotavirus[daly.ill.treat.Rotavirus$ill.treat == "Hospitalised", c("Age", "dalys")])<br />
colnames(Health.effects)[ncol(Health.effects)] <- "Hospitalised.Rotavirus"<br />
Health.effects <- merge(Health.effects, daly.death.Rotavirus)<br />
colnames(Health.effects)[ncol(Health.effects)] <- "Death.Rotavirus"<br />
<br />
Health.effects <- merge(Health.effects, daly.ill.treat.Norovirus[daly.ill.treat.Norovirus$ill.treat == "Untreated", c("Age", "dalys")])<br />
colnames(Health.effects)[ncol(Health.effects)] <- "Untreated.Norovirus"<br />
Health.effects <- merge(Health.effects, daly.ill.treat.Norovirus[daly.ill.treat.Norovirus$ill.treat == "General practitioner", c("Age", "dalys")])<br />
colnames(Health.effects)[ncol(Health.effects)] <- "GP.Norovirus"<br />
Health.effects <- merge(Health.effects, daly.ill.treat.Norovirus[daly.ill.treat.Norovirus$ill.treat == "Hospitalised", c("Age", "dalys")])<br />
colnames(Health.effects)[ncol(Health.effects)] <- "Hospitalised.Norovirus"<br />
Health.effects <- merge(Health.effects, daly.death.Norovirus)<br />
colnames(Health.effects)[ncol(Health.effects)] <- "Death.Norovirus"<br />
<br />
Health.effects <- merge(Health.effects, daly.ill.treat.Crypt[daly.ill.treat.Crypt$ill.treat == "Untreated", c("Age", "dalys")])<br />
colnames(Health.effects)[ncol(Health.effects)] <- "Untreated.Crypt"<br />
Health.effects <- merge(Health.effects, daly.ill.treat.Crypt[daly.ill.treat.Crypt$ill.treat == "General practitioner", c("Age", "dalys")])<br />
colnames(Health.effects)[ncol(Health.effects)] <- "GP.Crypt"<br />
Health.effects <- merge(Health.effects, daly.ill.treat.Crypt[daly.ill.treat.Crypt$ill.treat == "Hospitalised", c("Age", "dalys")])<br />
colnames(Health.effects)[ncol(Health.effects)] <- "Hospitalised.Crypt"<br />
Health.effects <- merge(Health.effects, daly.death.Crypt)<br />
colnames(Health.effects)[ncol(Health.effects)] <- "Death.Crypt"<br />
<br />
Health.effects <- merge(Health.effects, daly.ill.treat.Giardia[daly.ill.treat.Giardia$ill.treat == "Untreated", c("Age", "dalys")])<br />
colnames(Health.effects)[ncol(Health.effects)] <- "Untreated.Giardia"<br />
Health.effects <- merge(Health.effects, daly.ill.treat.Giardia[daly.ill.treat.Giardia$ill.treat == "General practitioner", c("Age", "dalys")])<br />
colnames(Health.effects)[ncol(Health.effects)] <- "GP.Giardia"<br />
Health.effects <- merge(Health.effects, daly.ill.treat.Giardia[daly.ill.treat.Giardia$ill.treat == "Hospitalised", c("Age", "dalys")])<br />
colnames(Health.effects)[ncol(Health.effects)] <- "Hospitalised.Giardia"<br />
<br />
Health.effects <- reshape(Health.effects, idvar = c("Age"), times = colnames(Health.effects)[-c(1,2)], timevar = "Outcome", <br />
varying = list(colnames(Health.effects)[-c(1,2)]), direction = "long")<br />
colnames(Health.effects)[4] <- "P.daly.g.inf"<br />
<br />
Health.effects$Pathogen <- NA<br />
Health.effects$Pathogen[grep(".Kamp", Health.effects$Outcome)] <- Pathogen[1]<br />
Health.effects$Pathogen[grep(".Ecoli", Health.effects$Outcome)] <- Pathogen[2]<br />
Health.effects$Pathogen[grep(".Rotavirus", Health.effects$Outcome)] <- Pathogen[3]<br />
Health.effects$Pathogen[grep(".Norovirus", Health.effects$Outcome)] <- Pathogen[4]<br />
Health.effects$Pathogen[grep(".Crypt", Health.effects$Outcome)] <- Pathogen[5]<br />
Health.effects$Pathogen[grep(".Giardia", Health.effects$Outcome)] <- Pathogen[6]<br />
<br />
Health.effects <- merge(Health.effects, dose.response[,c("Pathogen", "P.inf")])<br />
Health.effects$DALYs <- (1 - (1 - Health.effects$P.inf * Health.effects$P.daly.g.inf)^365) * Health.effects$Populaatio<br />
<br />
temp <- merge(dose.response, P.ill.g.inf)<br />
<br />
############# EXTRA ###########################################<br />
<br />
MikrobienLogVähenemä <- combine(Desinfiointi, PuhdistusTeho, KloorausTeho, name = "MikrobienLogVähenemä")<br />
<br />
MikrobienLogVähenemä@output[["Puhdistusmenetelmä"]][ <br />
MikrobienLogVähenemä@output[["MikrobienLogVähenemäSource"]] == "KloorausTehoFormula"<br />
] <- "Klooraus"<br />
<br />
#MikrobienLogVähenemä <- oapply(MikrobienLogVähenemä, cols = c("Puhdistusmenetelmä", "KlooriAnnosSource"), FUN = sum, na.rm = TRUE)<br />
<br />
#MikrobienLogVähenemä@output <- fillna(MikrobienLogVähenemä@output, colnames(MikrobienLogVähenemä@output)[MikrobienLogVähenemä@marginal])<br />
<br />
############# TULOKSET #########################################################################################################<br />
<br />
cat("Patogeenien konsentraatio raakavedessä\n")<br />
oprint(RaakaPitoisuus) # Patogeenien konsentraatio raakavedessä<br />
<br />
cat("Patogeenien log vähenemä puhdistuksessa (Kuva 1.)\n")<br />
<br />
ggplot(MikrobienLogVähenemä@output, aes(x = Patogeeni, weight = MikrobienLogVähenemäResult, fill = Puhdistusmenetelmä)) +<br />
geom_bar() + theme_gray(base_size = 24) + labs(title = "Kuva 1. Mikrobien log-vähenemä")<br />
<br />
cat("Patogeeneille altistuminen ja infektion todennäköisyys\n")<br />
oprint(Vaste@output[,c("Patogeeni", "AltistuminenResult", "VasteResult")]) # Patogeeneille altistuminen ja infektion todennäköisyys (vaste)<br />
<br />
cat("Arvioitu terveysvaikutus\n")<br />
<br />
cat(sum((1 - (1 - temp$P.ill.g.inf * temp$P.inf)^365) * Vaestonkoko, na.rm = TRUE), " vatsatautia vuodessa \n")<br />
<br />
cat(sum(Health.effects$DALYs, na.rm = TRUE), " DALY:ä vatsataudeista \n") <br />
</rcode><br />
<br />
=== Käyttöohjeet Vesiopas-mallille ===<br />
<br />
{{greenbox|<br />
<br />
'''1. Valitse raakaveden luokitus'''<br />
*Pohjavesi - Puhdas: puhdasta pohjavettä<br />
*Pohjavesi - Pintavesikuormitus: esim. rantaimeytymistä<br />
*Pintavesi - Vähäinen kuormitus: suhteellisen puhdasta pintavettä<br />
*Pintavesi - Keskisuuri kuormitus: esim. pienehkö jätevesikuormitus<br />
*Pintavesi - Suuri kuormitus: esim. jätevesikuormitus<br />
<br />
'''TAI'''<br />
<br />
Valitse 'Määrittelen mikrobipitoisuudet itse'. Kirjoita patogeenien pitoisuudet niiden laatikoihin.<br />
<br />
'''2. Ilmoita juomaveden kulutus''' vuorokautta kohden litroina päivässä henkeä kohti (oletus 1.53 l/pvä).<br />
<br />
'''3. Ilmoita kohdealueen väestön lukumäärä.''' (oletus 100000)<br />
<br />
'''4. Valitse puhdistusprosessit.''' Huom! Voit valita monta vaihtoehtoa<br />
<br />
'''5. Valitse onko klooraus käytössä vai ei''' syöttämällä käytetty klooriannos (mg/l). Mikäli kloorausta ei ole, annokseksi tulee 0 mg/l (oletus 1.5 mg/l).<br />
<br />
'''6. Tuloksen saa näkyviin uudelle sivulle painamalla nappia 'Aja koodi'.'''<br />
<br />
Kahdesta ensimmäisestä taulukosta ja yhdestä sivun lopussa olevasta kuvasta näkee millaisia lähtöarvoja malliin on syötetty. Terveysvaikutuksina ilmoitetaan kaksi tulosta:<br />
*Montako vatsatautitapausta alueella on vuodessa.<br />
*Montako [[DALY]]a eli toimintakyvyllä painotettua elinvuotta menetetään vatsatautitapausten vuoksi ko. alueella.<br />
}}<br />
<br />
== Perustelut ==<br />
<br />
[[Tiedosto:Vesiopas.png]]<br />
<br />
:''Malli on käännetty Analyticasta R:lle. Alkuperäinen malli löytyy täältä: [[Tiedosto:Vesiopas.ANA]]. Mikäli käyttäjä ei itse anna patogeenikohtaisia pitoisuuksia, käytetään sivulla [[Raakaveden patogeenipitoisuudet]] olevia arvoja.<br />
<br />
Talousveden laadulle on asetettu terveysperusteisia laatuvaatimuksia ja -suosituksia. Laatua koskevasta lainsäädännästä vastaa Sosiaali- ja terveysministeriö ja laadun valvonnasta kuntien terveydensuojeluviranomaiset. Hyvän veden laadun ylläpitäminen ja kehittäminen edellyttävät korkealaatuista tutkimusta ja yhteistyötä eri tahojen kanssa. Pohjavesiä tai tekopohjavesiä ei yleensä desinfioida. Raakaveden sisältämät kemikaalit, mikrobit tai talousveden valmistuksessa muodostuvat desinfioinnin sivutuotteet voivat aiheuttaa terveysriskejä talousveden käyttäjille. Vesilaitokselta lähtevä vesi saattaa viipyä pitkiäkin aikoja verkostossa. Mikäli olosuhteet ovat mikrobikasvustolle suotuisat, vesi voi muuttua verkostossa ja kiinteistöjen vesijärjestelmissä huonolaatuiseksi ja jopa terveydelle haitalliseksi. <ref>http://www.ktl.fi/portal/suomi/tietoa_terveydesta/elinymparisto/vesi</ref><br />
<br />
<br />
Talousvesi tuotetaan joko pohja- tai pintavedestä. Näillä on erilaiset ongelmat. Pintaveden käyttö vaatii aina varsinaisen vesilaitoksen perustamista ja siihen liittyvää tietoa, taitoa ja tekniikkaa sekä koulutettua valvontahenkilöstöä. Pohjavesi taas ei vaadi kovin monimutkaista käsittelyä, joten varsinaista vesilaitoshenkilökuntaa tarvitaan varsin vähän ja valvontakin on vähäisempää. Lisäksi meillä on nykyään useita vesilaitoksia, jotka valmistavat tekopohjavettä. Ominaisuuksiltaan tekopohjavedet saattavat olla hyvien pohjavesien kaltaisia, mutta usein vain keskitasoisen pintaveden veroisia. <br />
<br />
<br />
Pohjaveden käsittelyyn kuuluu tavallisesti veden pH:n ja kovuuden nosto. Tähän voidaan käyttää erilaisia tekniikoita, joista pH:n säädössä kalsiumhydroksidin ja hiilidioksidin käyttö lienee yleisimpiä. Toisinaan tarvitaan lisäksi raudan tai mangaanin saostaminen vahvoilla hapettimilla kuten permanganaatilla tai kloorilla. Lisäksi heikkolaatuiset pohjavedet desinfioidaan.<br />
<br />
<br />
Jotta pintavedestä saataisiin hyvää juomavettä, sitä joudutaan käsittelemään varsin rankasti. Vaikeinta on saada pintaveden humusainekset saostettua. Tähän käytetään erilaisten saostuskemikaalien lisäksi mm. pH:n säätöä ja humusaineksen pilkkomista voimakkailla hapettimilla kuten otsonilla. Lisäksi saostuskemikaalien (esim. alumiinin ja raudan suolat) jäämät on poistettava ja veden kovuutta nostettava niin, ettei putkisto aikojen kuluessa haperru. Väestö on myös suojattava pintavesissä aina piileviltä [http://fi.wikipedia.org/wiki/Mikrobi mikrobeilta], joten vesi täytyy desinfioida tautia aiheuttavien mikrobien, patogeenien, poistamiseksi.<br />
<br />
<br />
Veden laatuun vaikuttavat myös verkoston kunto ja veden verkostossa viipymä aika. Jos verkostoon on kertynyt runsaasti saostumia, nämä sakat sisältävät erilaisten epäorgaanisten yhdisteiden lisäksi valtavasti bakteerimassaa. Verkoston saostumien ominaisuuksia ja niiden vaikutusta veden laatuun on Suomessa alettu tutkia vasta viime aikoina. <ref>http://www.ktl.fi/portal/suomi/julkaisut/kansanterveyslehti/lehdet_1999/2_1999/vesiepidemiat_voidaan_estaa_hyvalla_talousveden_kasittelylla/</ref><br />
<br />
<br />
Riskinarvioinnin tarkoituksena on tuottaa tietoa riskin todellisesta suuruudesta päätöksentekoa varten. Riskinarviointi on tieteellinen prosessi, jossa asiantuntijoilla on keskeinen rooli. Koska tutkittavia riskejä monenlaisia, riskinarviointiprosessit voivat olla hyvin erilaisia. Ympäristöterveyden alalla riskinarvioinnin katsotaan tavallisesti koostuvan neljästä vaiheesta:<br />
# Vaaran tunnistaminen (aiheuttaako tutkittava tekijä vaaraa ihmiselle?)<br />
# Annosvasteen arviointi (mikä on annoksen ja vaikutuksen suhde?)<br />
# Altistumisen arviointi (kuinka paljon ihmiset altistuvat?)<br />
# Riskin karakterisointi (kuinka suuri on terveysriski?)<ref>http://wanda.uef.fi/tkk/avoin/ymp_terveys/</ref><br />
<br />
Kaikkien vesilaitosten tulisi ajoittain tehdä talousvedelle riskinarviointi. Siinä selvitetään toimenpiteet eri kriisitilanteita varten ja laaditaan suunnitelmat eri ongelmatilanteita ja mahdollisia vahinkoja varten. Erilaiset vesilaitokset ja esimerkiksi lomakeskukset tarvitsevat erilaiset suunnitelmat ja toteutukset. <br />
<br />
=== Riippuvuudet ===<br />
<br />
* Op_fi2652 [[Suomen ikäjakauma]]: Populaation koko, Väestön ikärakenne, Odotettu elinikä<br />
* Op_fi1759 [[Infektion todennäköisyys per henkilö]]<br />
** Op_fi2653 [[Patogeenien annosvasteet]]<br />
** Op_fi2994 [[Paikkakuntakohtaiset tiedot talousveden käsittelyyn]] väestömäärä ja vedenkulutus<br />
** Op_fi2669 [[Patogeeneille altistuminen]]<br />
*** Op_fi1757 [[Juomaveden kulutus]]<br />
*** Op_fi2668 [[Patogeenien pitoisuudet puhdistetussa juomavedessä]]<br />
**** Op_fi2655 [[Raakaveden patogeenipitoisuudet]]<br />
**** Op_fi2656 [[Vedenkäsittelyn tehokkuus]] (Suodatukset ym)<br />
**** Op_fi2993 [[Juomaveden desinfiointi]] (klooraus ym)<br />
**** Op_fi2667 [[Klooraus]]<br />
<br />
== Katso myös ==<br />
<br />
{{metodi|moderator = Päivi Meriläinen}}<br />
*[[Juomaveden patogeenit]]<br />
*[[Juomaveden patogeenien terveysvaikutukset]]<br />
<br />
*[[Arviointi pohjavesilaitoksen mikrobiologisista riskeistä]]<br />
*[[Arviointi juomaveden kloorifenolien terveysvaikutuksista]]<br />
*[[:heande:Kuovesi]]<br />
* [[Mikrobien määrä juomavedessä]]<br />
* [[Mikrobien määrä pohjavedessä]]<br />
<br />
*http://www.fao.org/docrep/006/y4666e/y4666e06.htm#TopOfPage<br />
*http://wiki.camra.msu.edu/index.php?title=Main_Page<br />
*http://www.medicina.fi/index.php?option=com_content&view=article&id=48&Itemid=56#I<br />
<br />
; Turhia?<br />
*[[Infektion vuosittainen todennäköisyys]]<br />
*[[Vatsatautien tapaukset]]<br />
*[[Patogeenien DALYt vatsataudille]] Yhdistettävä sivuun [[:op_en:DALY]]?<br />
<br />
=== Paikkakuntakohtaiset tiedot ===<br />
<br />
* Op_fi2603 [[Arviointi juomaveden laadun terveysvaikutuksista/Kuopio]] (vedenpuhdistamon tietoja)<br />
*[[:heande:Polaris:Raakaveden patogeenipitoisuudet/Lahti]]<br />
*[[:heande:Polaris:Raakaveden patogeenipitoisuudet/Mikkeli]]<br />
*[[:heande:Polaris:Raakaveden patogeenipitoisuudet/Kirkkonummi]]<br />
*[[:heande:Polaris:Paikkakuntakohtaiset tiedot talousveden käsittelyyn/Lahti]]<br />
*[[:heande:Polaris:Paikkakuntakohtaiset tiedot talousveden käsittelyyn/Mikkeli]]<br />
*[[:heande:Polaris:Paikkakuntakohtaiset tiedot talousveden käsittelyyn/Kirkkonummi]]<br />
*[[:heande:Polaris:Juomaveden desinfiointi/Lahti]]<br />
*[[:heande:Polaris:Juomaveden desinfiointi/Mikkeli]]<br />
*[[:heande:Polaris:Juomaveden desinfiointi/Kirkkonummi]]<br />
*[[:heande:Polaris:Vedenkäsittelyn tehokkuus/Lahti]]<br />
*[[:heande:Polaris:Vedenkäsittelyn tehokkuus/Mikkeli]]<br />
*[[:heande:Polaris:Vedenkäsittelyn tehokkuus/Kirkkonummi]]<br />
<br />
==Viitteet==<br />
<br />
<references/><br />
<br />
{{eracedu}}</div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Vesiopas&diff=27119
Vesiopas
2014-10-20T09:50:05Z
<p>Teemu R: /* Riippuvuudet */</p>
<hr />
<div>[[Luokka:Talousvesi]]<br />
[[Luokka:Avoin malli]]<br />
[[Luokka:Malli]]<br />
[[Luokka:Vesiopas]]<br />
[[Luokka:Tutkimushanke]]<br />
[[Luokka:Sisältää R-koodia]]<br />
[[Tiedosto:Talousveden_riskinarviointi.png|thumb|500px]]<br />
<u>HUOM! TÄTÄ SIVUA PÄIVITETÄÄN PARHAILLAAN! SIVUN ARVIOINTIMALLI EI OLE KÄYTÖSSÄ EIKÄ SEN TULOKSIEN OIKEELLISUUTTA TAATA PÄIVITYKSEN AIKANA. </u><br />
<br />
'''Vesiopas - Arviointi vedenlaadun terveysvaikutuksista''' käsittelee juomaveden mahdollisia mikrobiologisia terveysriskejä. Mikrobiologisten riskien taustana on raakaveden kontaminoituminen mikrobeilla joista aiheutuu mahdollista terveyshaittaa vesijohtovettä käyttäville ihmisille, sekä juomaveden käsittelyprosessien tehokkuus, joka voi olla riittämätön poistamaan haitalliset mikrobit juomavedestä. Arvioinnilla määritetään, minkä suuruinen mahdollinen terveysriski on tietyillä raakaveden mikrobeilla. Arviointi perustuu matemaattiselle Vesiopas-mallille, joka esitellään alla.<br />
<br />
== Kysymys ==<br />
<br />
Miten arvioidaan juomaveden mikrobiologisia riskejä sekä niiden aiheuttamia terveysvaikutuksia? Erilaisten vedenpuhdistuslaitosten tietoja pitää voida syöttää arviointiin lähtötiedoiksi.<br />
<br />
==Vesiopasmalli==<br />
<br />
<rcode name="answer" graphics=1 variables="<br />
name:RaakaLuokka|description:Raakaveden luokitus|type:selection|<br />
options:<br />
'Pohjavesi - Puhdas';Pohjavesi - Puhdas;<br />
'Pohjavesi - Pintavesikuormitus';Pohjavesi - Pintavesikuormitus;<br />
'Pintavesi - Vähäinen kuormitus';Pintavesi - Vähäinen kuormitus;<br />
'Pintavesi - Keskisuuri kuormitus';Pintavesi - Keskisuuri kuormitus;<br />
'Pintavesi - Suuri kuormitus';Pintavesi - Suuri kuormitus;<br />
'Käyttäjä';Määrittelen mikrobipitoisuudet itse|<br />
category:Perustiedot|<br />
name:IVedenkulutus|default:1.153|description:Veden juominen (litraa /pvä)|<br />
name:Vaestonkoko|default:100000|description:Altistuvan väestön koko|<br />
<br />
name:Kampylo|description:Kampylobakteeri-pitoisuus arvio (mikrobia/l)|default:0|<br />
category:Raakaveden mikrobipitoisuudet|<br />
category_conditions:RaakaLuokka;'Käyttäjä'|<br />
name:Ecoli|description:E.coli O157:H7 -pitoisuus arvio (mikrobia/l)|default:0|<br />
name:Rota|description:Rotavirus-pitoisuus arvio (mikrobia/l)|default:0|<br />
name:Noro|description:Norovirus-pitoisuus arvio (mikrobia/l)|default:0|<br />
name:Crypto|description:Cryptosporidium-pitoisuus arvio (mikrobia/l)|default:0|<br />
name:Giardia|description:Giardia-pitoisuus arvio (mikrobia/l)|default:0|<br />
name:Kaupunki|description:Kaupungin oletusarvot|default:'Custom'|type:selection|<br />
options:<br />
'Custom';- valitse -;<br />
'Op_fi2603';Kuopio|<br />
category:Kaupungin oletusarvot|<br />
category_conditions:IKlooriannos;'Käytetään tietoja kaupungin puhdistusprosessista'|<br />
name:Puhdistus|description:Käytössä olevat puhdistusmenetelmät|type:checkbox|options:<br />
1;Perinteinen puhdistus;<br />
2;Hyvin toimva puhdistus;<br />
3;Tehostettu puhdistus;<br />
4;Hidas hiekkasuodatus;<br />
5;Kalkkikivisuodatus;<br />
6;Aktiivihiilisuodatus;<br />
7;UV suodatus;<br />
8;Otsonointi|default:1;4;5;6|<br />
category:Vedenpuhdistus: Puhdistusprosessi ja klooraus|<br />
name:IKlooriAnnos|default:1.5|description:Klooriannos (mg/l)<br />
"><br />
library(OpasnetUtils)<br />
library(ggplot2)<br />
library(reshape2)<br />
<br />
if(RaakaLuokka != 'Käyttäjä') {<br />
Kampylo <- 'Luokituksen mukainen'<br />
Ecoli <- 'Luokituksen mukainen'<br />
Rota <- 'Luokituksen mukainen'<br />
Noro <- 'Luokituksen mukainen'<br />
Crypto <- 'Luokituksen mukainen'<br />
Giardia <- 'Luokituksen mukainen'<br />
}<br />
<br />
IRaakaPitoisuus <- list(Kampylo, Ecoli, Rota, Noro, Crypto, Giardia)<br />
<br />
# Vedenkulutus<br />
<br />
if (!is.na(suppressWarnings(as.numeric(IVedenkulutus)))) {<br />
InpVedenkulutus = data.frame(VedenkulutusResult = IVedenkulutus)<br />
InpVedenkulutus = Ovariable("Vedenkulutus", output = InpVedenkulutus)<br />
}<br />
<br />
# Patogeenien pitoisuudet<br />
<br />
objects.latest("Op_fi2655", "muuttuja") # [[Raakaveden patogeenipitoisuudet]] RaakaPitoisuus, customoitia varten<br />
<br />
RaakaPitoisuus <- EvalOutput(RaakaPitoisuus)<br />
<br />
temp <- RaakaPitoisuus@output<br />
<br />
temp <- temp[as.character(temp$Raakavesilähde) == RaakaLuokka, ]<br />
<br />
temp <- merge(<br />
temp, <br />
data.frame(<br />
Patogeeni = c("Kampylobakteeri","E.coli O157:H7","Rotavirus","Norovirus","Cryptosporidium","Giardia"), <br />
TempResult = suppressWarnings(as.numeric(IRaakaPitoisuus))<br />
)<br />
)<br />
temp$RaakaPitoisuusResult <- ifelse(<br />
is.na(temp$TempResult), <br />
temp$RaakaPitoisuusResult,<br />
temp$TempResult<br />
)<br />
RaakaPitoisuus@output <- temp[, !colnames(temp) %in% c("TempResult", "Raakavesilähde")]<br />
<br />
temp <- rep(FALSE,9) # vaihtoehdot + klooraus joka on mallin rakenteesta johtuen aina epätosi<br />
temp[Puhdistus] <- TRUE<br />
Puhdistus <- temp<br />
<br />
if (!is.na(suppressWarnings(as.numeric(IKlooriAnnos)))) if (IKlooriAnnos >= 0) {<br />
InpKlooriAnnos <- Ovariable("KlooriAnnos", output = data.frame(KlooriAnnosResult = IKlooriAnnos))<br />
}<br />
<br />
# Käsitellään puhdistusmenetelmät käsin tätä mallia varten<br />
<br />
riippuvuudet <- data.frame(<br />
Name = c("RaakaPitoisuus", "Desinfiointi", "PuhdistusTeho", "KloorausTeho"),<br />
Ident = c("Op_fi2655/muuttuja", "Op_fi2993/muuttuja", "Op_fi2656/muuttuja", "Op_fi2667/tehokkuus")<br />
)<br />
<br />
objects.latest("Op_fi2993", "muuttuja") # [[Juomaveden desinfiointi]] Desinfiointi: klooraus ym<br />
<br />
objects.latest("Op_fi2656", "muuttuja") # [[Vedenkäsittelyn tehokkuus]] PuhdistusTeho: suodatukset ym<br />
<br />
PuhdistusTeho <- EvalOutput(PuhdistusTeho)<br />
Desinfiointi <- EvalOutput(Desinfiointi)<br />
<br />
Puhdistus <- data.frame(<br />
Käytössä = Puhdistus, <br />
Puhdistusmenetelmä = c("Perinteinen puhdistus", "Hyvin toimva puhdistus", <br />
"Tehostettu puhdistus" ,"Hidas hiekkasuodatus", "Kalkkikivisuodatus", <br />
"Aktiivihiilisuodatus", "UV", "Otsonointi", "Klooraus")<br />
)<br />
<br />
PuhdistusTeho@output <- merge(PuhdistusTeho@output, Puhdistus[1:6,]) # Vedenkäsittelymenetelmät<br />
<br />
Desinfiointi@output <- merge(Desinfiointi@output, Puhdistus[7:9,]) # Desinfiointimenetelmät<br />
<br />
PuhdistusTeho@output$PuhdistusTehoResult <- ifelse(<br />
PuhdistusTeho@output$Käytössä,<br />
PuhdistusTeho@output$PuhdistusTehoResult,<br />
0<br />
)<br />
Desinfiointi@output$DesinfiointiResult <- ifelse(<br />
Desinfiointi@output$Käytössä,<br />
Desinfiointi@output$DesinfiointiResult,<br />
0<br />
)<br />
<br />
# Poistetaan "Käytössä" kolumni<br />
PuhdistusTeho@output <- PuhdistusTeho@output[, !colnames(PuhdistusTeho@output) == "Käytössä"]<br />
Desinfiointi@output <- Desinfiointi@output[, !colnames(Desinfiointi@output) == "Käytössä"]<br />
<br />
objects.latest("Op_fi1759", "muuttuja") # [[Infektion todennäköisyys per henkilö]] Vaste<br />
<br />
Vaste <- EvalOutput(Vaste, substitute = TRUE)<br />
<br />
#################################################################################<br />
<br />
dose.response = Vaste@output<br />
<br />
Pathogen <- c("Kampylobakteeri","E.coli O157:H7","Rotavirus","Norovirus","Cryptosporidium","Giardia")<br />
<br />
vaesto <- opbase.data("Op_fi2652")[,c("Ikä","Result")] # [[Suomen ikäjakauma]]<br />
colnames(vaesto) <- c("Age", "Osuus")<br />
<br />
vaesto$Populaatio <- vaesto$Osuus * Vaestonkoko<br />
<br />
odotettu.elinika <- 81<br />
<br />
colnames(dose.response)[colnames(dose.response) == "Patogeeni"] <- "Pathogen"<br />
colnames(dose.response)[colnames(dose.response) == "VasteResult"] <- "P.inf"<br />
colnames(dose.response)[colnames(dose.response) == "AltistuminenResult"] <- "Exp.pat"<br />
<br />
P.ill.g.inf <- data.frame(Pathogen, P.ill.g.inf = c(0.33, 1 - (270 / 1540), 0.9, 0.7, 0.71, 1)) # todennäköisyys sairastua kun saa infektion<br />
<br />
# Kampylobakteeri, DALYt per infektio<br />
<br />
P.treat.g.ill.Kamp.Gastr <- data.frame(Pathogen = Pathogen[c(1,1,1)], Outcome = "Gastroenteritis", ill.treat = c("Untreated", <br />
"General practitioner", "Hospitalised", "Unspecified")[c(1,2,3)], P.treat.g.ill = c(0.7627, 0.2373, 0.0097))<br />
<br />
P.treat.ill.g.inf.Kamp.Gastr <- merge(P.treat.g.ill.Kamp.Gastr, P.ill.g.inf)<br />
P.treat.ill.g.inf.Kamp.Gastr$P.treat.ill.g.inf <- P.treat.ill.g.inf.Kamp.Gastr$P.ill.g.inf * <br />
P.treat.ill.g.inf.Kamp.Gastr$P.treat.g.ill<br />
<br />
duration.ill.treat.Kamp.Gastr <- data.frame(Outcome = c("Gastroenteritis"), ill.treat = c("Untreated", "General practitioner", <br />
"Hospitalised", "Unspecified")[c(1,2,3)], dur.ill = c(5.1 / 365, 8.4 / 365, 14.39 / 365))<br />
<br />
severity.ill.treat.Kamp.Gastr <- data.frame(Outcome = c("Gastroenteritis"), ill.treat = c("Untreated", "General practitioner", <br />
"Hospitalised", "Unspecified")[c(1,2,3)], sev.ill = c(0.067, 0.393, 0.393))<br />
<br />
daly.ill.treat.Kamp.Gastr <- merge(P.treat.ill.g.inf.Kamp.Gastr, duration.ill.treat.Kamp.Gastr)<br />
daly.ill.treat.Kamp.Gastr <- merge(daly.ill.treat.Kamp.Gastr, severity.ill.treat.Kamp.Gastr)<br />
daly.ill.treat.Kamp.Gastr$dalys <- daly.ill.treat.Kamp.Gastr$P.treat.ill.g.inf * daly.ill.treat.Kamp.Gastr$dur.ill * <br />
daly.ill.treat.Kamp.Gastr$sev.ill<br />
<br />
<br />
P.death.g.ill.Gastr <- 0.0004<br />
P.death.g.inf.Gastr <- P.death.g.ill.Gastr * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "Kampylobakteeri"]<br />
death.Gastr.life.lost <- 13.2<br />
daly.death.Kamp.Gastr <- P.death.g.inf.Gastr * death.Gastr.life.lost<br />
<br />
## GBS Kamp.<br />
<br />
P.gbs.g.ill <- 2e-004<br />
P.gbs.g.inf <- P.gbs.g.ill * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "Kampylobakteeri"]<br />
dur.sev.factor.gbs <- data.frame(Outcome = c("Clinical GBS", "Residual GBS"), dur.sev.factor = c(0.29, 5.8)) # duration * severity * fraction?<br />
daly.Kamp.gbs <- data.frame(dur.sev.factor.gbs$Outcome, dalys = dur.sev.factor.gbs$dur.sev.factor * P.gbs.g.inf)<br />
<br />
P.death.g.gbs <- 0.08 / 3 # triangular 0.01, 0.02, 0.05<br />
P.death.g.inf.gbs <- P.death.g.gbs * P.gbs.g.inf<br />
death.gbs.life.lost <- 18.7<br />
daly.death.Kamp.gbs <- P.death.g.inf.gbs * death.gbs.life.lost<br />
<br />
## reactive arthritis Kamp.<br />
<br />
P.arth.g.ill <- 0.02 # triangluar 0.01, 0.02, 0.03<br />
P.arth.g.inf <- P.arth.g.ill * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "Kampylobakteeri"]<br />
duration.arth <- 6 / 52<br />
severity.arth <- 0.21<br />
daly.Kamp.arth <- P.arth.g.inf * duration.arth * severity.arth<br />
<br />
# E.coli<br />
<br />
P.wd.g.ill <- 0.53 # watery diarrhea<br />
P.wd.g.inf <- P.wd.g.ill * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "E.coli O157:H7"]<br />
severity.wd <- 0.067<br />
duration.wd <- 3.4 / 365<br />
daly.wd.Ecoli <- P.wd.g.inf * severity.wd * duration.wd<br />
<br />
P.hc.g.ill <- 0.47<br />
P.hc.g.inf <- P.hc.g.ill * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "E.coli O157:H7"]<br />
severity.hc <- 0.39<br />
duration.hc <- 5.6 / 365<br />
daly.hc.Ecoli <- P.hc.g.inf * severity.hc * duration.hc<br />
<br />
P.death.g.ill.Ecoli <- 0.00027<br />
P.death.g.inf.Ecoli <- P.death.g.ill.Ecoli * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "E.coli O157:H7"]<br />
age.death.Ecoli <- 81 - 13.2<br />
daly.death.Ecoli <- P.death.g.inf.Ecoli * (odotettu.elinika - age.death.Ecoli)<br />
<br />
## Haemolytic uraemic syndrome (HUS)<br />
<br />
P.hus.g.ill <- 0.01<br />
P.hus.g.inf <- P.hus.g.ill * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "E.coli O157:H7"]<br />
severity.hus <- 0.93<br />
duration.hus <- 21 / 365<br />
daly.hus.Ecoli <- P.hus.g.inf * severity.hus * duration.hus<br />
<br />
P.death.g.hus <- 0.04<br />
P.death.hus.g.inf <- P.death.g.hus * P.hus.g.inf<br />
age.death.hus.Ecoli <- 81 - 26.2<br />
daly.death.hus.Ecoli <- P.death.hus.g.inf * (odotettu.elinika - age.death.hus.Ecoli)<br />
<br />
## End Stage Renal Disease (ESRD)<br />
<br />
P.esrd.g.hus <- 0.118<br />
P.esrd.g.inf <- P.hus.g.inf * P.esrd.g.hus<br />
severity.duration.hus <- 8.7 # severity * duration<br />
daly.esrd.Ecoli <- P.esrd.g.inf * severity.duration.hus<br />
<br />
P.death.g.esrd <- 0.0252<br />
P.death.esrd.g.inf <- P.esrd.g.inf * P.death.g.esrd<br />
age.death.esrd.Ecoli <- 81 - 34<br />
daly.death.esrd.Ecoli <- P.death.esrd.g.inf * (odotettu.elinika - age.death.esrd.Ecoli)<br />
<br />
# Rotavirus<br />
<br />
P.treat.g.ill.Rotavirus <- data.frame(Pathogen = "Rotavirus", ill.treat = c("Untreated", <br />
"General practitioner", "Hospitalised")[rep(1:3, each = 82)], Age = rep(0:81, 3), P.treat.g.ill = c(rep(0.82,5), <br />
rep(0.95, 10), rep(0.99, 50), rep(0.97, 17), rep(0.137, 5), rep(0.0244, 5), rep(0.0511, 5), rep(0.0127, 50), <br />
rep(0.0299, 17), rep(0.0416, 5), rep(0.0213, 5), rep(0, 72)))<br />
<br />
P.treat.ill.g.inf.Rotavirus <- merge(P.treat.g.ill.Rotavirus, P.ill.g.inf)<br />
P.treat.ill.g.inf.Rotavirus$P.treat.g.inf <- P.treat.ill.g.inf.Rotavirus$P.ill.g.inf * P.treat.ill.g.inf.Rotavirus$P.treat.g.ill<br />
<br />
duration.ill.treat.Rotavirus <- data.frame(ill.treat = c("Untreated", "General practitioner","Hospitalised"), dur.ill = c(4.9 / 365, <br />
7.1 / 365, 7.7 / 365))<br />
<br />
severity.ill.treat.Rotavirus <- data.frame(ill.treat = c("Untreated", "General practitioner", "Hospitalised"), sev.ill = c(0.067, <br />
0.393, 0.393))<br />
<br />
daly.ill.treat.Rotavirus <- merge(P.treat.ill.g.inf.Rotavirus, duration.ill.treat.Rotavirus)<br />
daly.ill.treat.Rotavirus <- merge(daly.ill.treat.Rotavirus, severity.ill.treat.Rotavirus)<br />
daly.ill.treat.Rotavirus$dalys <- daly.ill.treat.Rotavirus$P.treat.g.inf * daly.ill.treat.Rotavirus$dur.ill * <br />
daly.ill.treat.Rotavirus$sev.ill<br />
<br />
<br />
P.death.Rotavirus <- data.frame(Age = 0:81, P.death.g.ill = c(rep(2.13e-005, 5), rep(0, 77)))<br />
P.death.Rotavirus$P.death.g.inf <- P.death.Rotavirus$P.death.g.ill * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "Rotavirus"]<br />
P.death.Rotavirus$Life.lost <- odotettu.elinika - P.death.Rotavirus$Age<br />
daly.death.Rotavirus <- data.frame(Age = P.death.Rotavirus$Age, dalys = P.death.Rotavirus$P.death.g.inf * P.death.Rotavirus$Life.lost)<br />
<br />
# Norovirus<br />
<br />
P.treat.g.ill.Norovirus <- data.frame(Pathogen = "Norovirus", ill.treat = c("Untreated", <br />
"General practitioner", "Hospitalised")[rep(1:3, each = 82)], Age = rep(0:81, 3), P.treat.g.ill = c(rep(0.94876706,5), <br />
rep(0.9902, 5), rep(0.98239, 5), rep(0.98434, 51), rep(0.992741, 16), rep(0.0448,5), rep(8.6e-003, 5), rep(0.0154, 5), <br />
rep(0.0137, 51), rep(6.17e-003, 16), rep(6.43e-003,5), rep(1.2e-003, 5), rep(2.21e-003, 5), rep(1.96e-003, 51), <br />
rep(8.85e-004, 16)))<br />
<br />
P.treat.ill.g.inf.Norovirus <- merge(P.treat.g.ill.Norovirus, P.ill.g.inf)<br />
P.treat.ill.g.inf.Norovirus$P.treat.g.inf <- P.treat.ill.g.inf.Norovirus$P.ill.g.inf * P.treat.ill.g.inf.Norovirus$P.treat.g.ill<br />
<br />
duration.ill.treat.Norovirus <- data.frame(ill.treat = c("Untreated", "General practitioner","Hospitalised"), dur.ill = c(3.8 / 365, <br />
5.73 / 365, 7.23 / 365))<br />
<br />
severity.ill.treat.Norovirus <- data.frame(ill.treat = c("Untreated", "General practitioner", "Hospitalised"), sev.ill = c(0.067, <br />
0.393, 0.393))<br />
<br />
daly.ill.treat.Norovirus <- merge(P.treat.ill.g.inf.Norovirus, duration.ill.treat.Norovirus)<br />
daly.ill.treat.Norovirus <- merge(daly.ill.treat.Norovirus, severity.ill.treat.Norovirus)<br />
daly.ill.treat.Norovirus$dalys <- daly.ill.treat.Norovirus$P.treat.g.inf * daly.ill.treat.Norovirus$dur.ill * <br />
daly.ill.treat.Norovirus$sev.ill<br />
<br />
P.death.Norovirus <- data.frame(Age = 0:81, P.death.g.ill = c(rep(2.94e-006, 5), rep(0, 61), rep(2.04e-004, 16)))<br />
P.death.Norovirus$P.death.g.inf <- P.death.Norovirus$P.death.g.ill * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "Norovirus"]<br />
P.death.Norovirus$Life.lost <- odotettu.elinika - P.death.Norovirus$Age<br />
daly.death.Norovirus <- data.frame(Age = P.death.Norovirus$Age, dalys = P.death.Norovirus$P.death.g.inf * P.death.Norovirus$Life.lost)<br />
<br />
# Cryptosporidium<br />
<br />
P.treat.g.ill.Crypt <- data.frame(Pathogen = "Cryptosporidium", ill.treat = c("Untreated", <br />
"General practitioner", "Hospitalised")[rep(1:3, each = 82)], Age = rep(0:81, 3), P.treat.g.ill = c(rep(0.9175730049999999,5), <br />
rep(0.80937, 5), rep(0.6810499999999999, 5), rep(0.9774191, 50), rep(0.94706, 17), rep(0.082,5), rep(0.188, 5), rep(0.316, 5), <br />
rep(0.0209, 50), rep(0.0367, 17), rep(4.26e-004,5), rep(2.63e-003, 5), rep(2.95e-003, 5), rep(1.66e-003, 50), rep(0.0146, 17)))<br />
<br />
P.treat.ill.g.inf.Crypt <- merge(P.treat.g.ill.Crypt, P.ill.g.inf)<br />
P.treat.ill.g.inf.Crypt$P.treat.g.inf <- P.treat.ill.g.inf.Crypt$P.ill.g.inf * P.treat.ill.g.inf.Crypt$P.treat.g.ill<br />
<br />
duration.ill.treat.Crypt <- data.frame(ill.treat = c("Untreated", "General practitioner","Hospitalised"), dur.ill = c(3.5 / 365, <br />
7 /365, 18.4 / 365))<br />
<br />
severity.ill.treat.Crypt <- data.frame(ill.treat = c("Untreated", "General practitioner", "Hospitalised"), sev.ill = c(0.067, <br />
0.393, 0.393))<br />
<br />
daly.ill.treat.Crypt <- merge(P.treat.ill.g.inf.Crypt, duration.ill.treat.Crypt)<br />
daly.ill.treat.Crypt <- merge(daly.ill.treat.Crypt, severity.ill.treat.Crypt)<br />
daly.ill.treat.Crypt$dalys <- daly.ill.treat.Crypt$P.treat.g.inf * daly.ill.treat.Crypt$dur.ill * <br />
daly.ill.treat.Crypt$sev.ill<br />
<br />
P.death.Crypt <- data.frame(Age = 0:81, P.death.g.ill = c(rep(9.95e-007, 5), rep(0, 10), rep(2.09e-005, 50), rep(1.64e-003, 17)))<br />
P.death.Crypt$P.death.g.inf <- P.death.Crypt$P.death.g.ill * P.ill.g.inf$P.ill.g.inf[P.ill.g.inf$Pathogen == "Cryptosporidium"]<br />
P.death.Crypt$Life.lost <- odotettu.elinika - P.death.Crypt$Age<br />
daly.death.Crypt <- data.frame(Age = P.death.Crypt$Age, dalys = P.death.Crypt$P.death.g.inf * P.death.Crypt$Life.lost)<br />
<br />
# Giardia<br />
<br />
P.treat.g.ill.Giardia <- data.frame(Pathogen = "Giardia", ill.treat = c("Untreated", <br />
"General practitioner", "Hospitalised")[rep(1:3, each = 82)], Age = rep(0:81, 3), P.treat.g.ill = c(rep(0.9376,5), <br />
rep(0.91034, 5), rep(0.72642, 5), rep(0.92486, 50), 0.54596, rep(0.5365, 16), rep(0.0609,5), rep(0.0852, 5), rep(0.272, 5), <br />
rep(0.0721, 50), rep(0.451, 17), rep(1.5e-003,5), rep(4.46e-003, 5), rep(1.58e-003, 5), rep(3.04e-003, 51), rep(0.0125, 16)))<br />
<br />
P.treat.ill.g.inf.Giardia <- merge(P.treat.g.ill.Giardia, P.ill.g.inf)<br />
P.treat.ill.g.inf.Giardia$P.treat.g.inf <- P.treat.ill.g.inf.Giardia$P.ill.g.inf * P.treat.ill.g.inf.Giardia$P.treat.g.ill<br />
<br />
duration.ill.treat.Giardia <- data.frame(ill.treat = c("Untreated", "General practitioner","Hospitalised"), dur.ill = c(10 / 365, <br />
10 /365, 30 / 365))<br />
<br />
severity.ill.treat.Giardia <- data.frame(ill.treat = c("Untreated", "General practitioner", "Hospitalised"), sev.ill = c(0.067, <br />
0.393, 0.393))<br />
<br />
daly.ill.treat.Giardia <- merge(P.treat.ill.g.inf.Giardia, duration.ill.treat.Giardia)<br />
daly.ill.treat.Giardia <- merge(daly.ill.treat.Giardia, severity.ill.treat.Giardia)<br />
daly.ill.treat.Giardia$dalys <- daly.ill.treat.Giardia$P.treat.g.inf * daly.ill.treat.Giardia$dur.ill * <br />
daly.ill.treat.Giardia$sev.ill<br />
<br />
# yhteenveto DALYistä<br />
<br />
Health.effects <- vaesto[,c("Age","Populaatio")]<br />
<br />
Health.effects$Untreated.Gastr.Kamp <- daly.ill.treat.Kamp.Gastr[daly.ill.treat.Kamp.Gastr$ill.treat == "Untreated", c("dalys")]<br />
Health.effects$GP.Gastr.Kamp <- daly.ill.treat.Kamp.Gastr[daly.ill.treat.Kamp.Gastr$ill.treat == "General practitioner", c("dalys")]<br />
Health.effects$Hospitalised.Gastr.Kamp <- daly.ill.treat.Kamp.Gastr[daly.ill.treat.Kamp.Gastr$ill.treat == "Hospitalised", c("dalys")]<br />
Health.effects$Death.Gastr.Kamp <- daly.death.Kamp.Gastr<br />
<br />
Health.effects$Clinical.GBS.Kamp <- daly.Kamp.gbs$dalys[1]<br />
Health.effects$Residual.GBS.Kamp <- daly.Kamp.gbs$dalys[2]<br />
Health.effects$Death.GBS.Kamp <- daly.death.Kamp.gbs<br />
<br />
Health.effects$Arth.Kamp <- daly.Kamp.arth<br />
<br />
Health.effects$WD.Ecoli <- daly.wd.Ecoli<br />
Health.effects$HC.Ecoli <- daly.hc.Ecoli<br />
Health.effects$Death.Ecoli <- daly.death.Ecoli<br />
<br />
Health.effects$HUS.Ecoli <- daly.hus.Ecoli<br />
Health.effects$Death.HUS.Ecoli <- daly.death.hus.Ecoli<br />
<br />
Health.effects$ESRD.Ecoli <- daly.esrd.Ecoli<br />
Health.effects$Death.ESRD.Ecoli <- daly.death.esrd.Ecoli<br />
<br />
Health.effects <- merge(Health.effects, daly.ill.treat.Rotavirus[daly.ill.treat.Rotavirus$ill.treat == "Untreated", c("Age", "dalys")])<br />
colnames(Health.effects)[ncol(Health.effects)] <- "Untreated.Rotavirus"<br />
Health.effects <- merge(Health.effects, daly.ill.treat.Rotavirus[daly.ill.treat.Rotavirus$ill.treat == "General practitioner", c("Age", "dalys")])<br />
colnames(Health.effects)[ncol(Health.effects)] <- "GP.Rotavirus"<br />
Health.effects <- merge(Health.effects, daly.ill.treat.Rotavirus[daly.ill.treat.Rotavirus$ill.treat == "Hospitalised", c("Age", "dalys")])<br />
colnames(Health.effects)[ncol(Health.effects)] <- "Hospitalised.Rotavirus"<br />
Health.effects <- merge(Health.effects, daly.death.Rotavirus)<br />
colnames(Health.effects)[ncol(Health.effects)] <- "Death.Rotavirus"<br />
<br />
Health.effects <- merge(Health.effects, daly.ill.treat.Norovirus[daly.ill.treat.Norovirus$ill.treat == "Untreated", c("Age", "dalys")])<br />
colnames(Health.effects)[ncol(Health.effects)] <- "Untreated.Norovirus"<br />
Health.effects <- merge(Health.effects, daly.ill.treat.Norovirus[daly.ill.treat.Norovirus$ill.treat == "General practitioner", c("Age", "dalys")])<br />
colnames(Health.effects)[ncol(Health.effects)] <- "GP.Norovirus"<br />
Health.effects <- merge(Health.effects, daly.ill.treat.Norovirus[daly.ill.treat.Norovirus$ill.treat == "Hospitalised", c("Age", "dalys")])<br />
colnames(Health.effects)[ncol(Health.effects)] <- "Hospitalised.Norovirus"<br />
Health.effects <- merge(Health.effects, daly.death.Norovirus)<br />
colnames(Health.effects)[ncol(Health.effects)] <- "Death.Norovirus"<br />
<br />
Health.effects <- merge(Health.effects, daly.ill.treat.Crypt[daly.ill.treat.Crypt$ill.treat == "Untreated", c("Age", "dalys")])<br />
colnames(Health.effects)[ncol(Health.effects)] <- "Untreated.Crypt"<br />
Health.effects <- merge(Health.effects, daly.ill.treat.Crypt[daly.ill.treat.Crypt$ill.treat == "General practitioner", c("Age", "dalys")])<br />
colnames(Health.effects)[ncol(Health.effects)] <- "GP.Crypt"<br />
Health.effects <- merge(Health.effects, daly.ill.treat.Crypt[daly.ill.treat.Crypt$ill.treat == "Hospitalised", c("Age", "dalys")])<br />
colnames(Health.effects)[ncol(Health.effects)] <- "Hospitalised.Crypt"<br />
Health.effects <- merge(Health.effects, daly.death.Crypt)<br />
colnames(Health.effects)[ncol(Health.effects)] <- "Death.Crypt"<br />
<br />
Health.effects <- merge(Health.effects, daly.ill.treat.Giardia[daly.ill.treat.Giardia$ill.treat == "Untreated", c("Age", "dalys")])<br />
colnames(Health.effects)[ncol(Health.effects)] <- "Untreated.Giardia"<br />
Health.effects <- merge(Health.effects, daly.ill.treat.Giardia[daly.ill.treat.Giardia$ill.treat == "General practitioner", c("Age", "dalys")])<br />
colnames(Health.effects)[ncol(Health.effects)] <- "GP.Giardia"<br />
Health.effects <- merge(Health.effects, daly.ill.treat.Giardia[daly.ill.treat.Giardia$ill.treat == "Hospitalised", c("Age", "dalys")])<br />
colnames(Health.effects)[ncol(Health.effects)] <- "Hospitalised.Giardia"<br />
<br />
Health.effects <- reshape(Health.effects, idvar = c("Age"), times = colnames(Health.effects)[-c(1,2)], timevar = "Outcome", <br />
varying = list(colnames(Health.effects)[-c(1,2)]), direction = "long")<br />
colnames(Health.effects)[4] <- "P.daly.g.inf"<br />
<br />
Health.effects$Pathogen <- NA<br />
Health.effects$Pathogen[grep(".Kamp", Health.effects$Outcome)] <- Pathogen[1]<br />
Health.effects$Pathogen[grep(".Ecoli", Health.effects$Outcome)] <- Pathogen[2]<br />
Health.effects$Pathogen[grep(".Rotavirus", Health.effects$Outcome)] <- Pathogen[3]<br />
Health.effects$Pathogen[grep(".Norovirus", Health.effects$Outcome)] <- Pathogen[4]<br />
Health.effects$Pathogen[grep(".Crypt", Health.effects$Outcome)] <- Pathogen[5]<br />
Health.effects$Pathogen[grep(".Giardia", Health.effects$Outcome)] <- Pathogen[6]<br />
<br />
Health.effects <- merge(Health.effects, dose.response[,c("Pathogen", "P.inf")])<br />
Health.effects$DALYs <- (1 - (1 - Health.effects$P.inf * Health.effects$P.daly.g.inf)^365) * Health.effects$Populaatio<br />
<br />
temp <- merge(dose.response, P.ill.g.inf)<br />
<br />
############# EXTRA ###########################################<br />
<br />
MikrobienLogVähenemä <- combine(Desinfiointi, PuhdistusTeho, KloorausTeho, name = "MikrobienLogVähenemä")<br />
<br />
MikrobienLogVähenemä@output[["Puhdistusmenetelmä"]][ <br />
MikrobienLogVähenemä@output[["MikrobienLogVähenemäSource"]] == "KloorausTehoFormula"<br />
] <- "Klooraus"<br />
<br />
#MikrobienLogVähenemä <- oapply(MikrobienLogVähenemä, cols = c("Puhdistusmenetelmä", "KlooriAnnosSource"), FUN = sum, na.rm = TRUE)<br />
<br />
#MikrobienLogVähenemä@output <- fillna(MikrobienLogVähenemä@output, colnames(MikrobienLogVähenemä@output)[MikrobienLogVähenemä@marginal])<br />
<br />
############# TULOKSET #########################################################################################################<br />
<br />
cat("Patogeenien konsentraatio raakavedessä\n")<br />
oprint(RaakaPitoisuus) # Patogeenien konsentraatio raakavedessä<br />
<br />
cat("Patogeenien log vähenemä puhdistuksessa (Kuva 1.)\n")<br />
<br />
ggplot(MikrobienLogVähenemä@output, aes(x = Patogeeni, weight = MikrobienLogVähenemäResult, fill = Puhdistusmenetelmä)) +<br />
geom_bar() + theme_gray(base_size = 24) + labs(title = "Kuva 1. Mikrobien log-vähenemä")<br />
<br />
cat("Patogeeneille altistuminen ja infektion todennäköisyys\n")<br />
oprint(Vaste@output[,c("Patogeeni", "AltistuminenResult", "VasteResult")]) # Patogeeneille altistuminen ja infektion todennäköisyys (vaste)<br />
<br />
cat("Arvioitu terveysvaikutus\n")<br />
<br />
cat(sum((1 - (1 - temp$P.ill.g.inf * temp$P.inf)^365) * Vaestonkoko, na.rm = TRUE), " vatsatautia vuodessa \n")<br />
<br />
cat(sum(Health.effects$DALYs, na.rm = TRUE), " DALY:ä vatsataudeista \n") <br />
</rcode><br />
<br />
=== Käyttöohjeet Vesiopas-mallille ===<br />
<br />
{{greenbox|<br />
<br />
'''1. Valitse raakaveden luokitus'''<br />
*Pohjavesi - Puhdas: puhdasta pohjavettä<br />
*Pohjavesi - Pintavesikuormitus: esim. rantaimeytymistä<br />
*Pintavesi - Vähäinen kuormitus: suhteellisen puhdasta pintavettä<br />
*Pintavesi - Keskisuuri kuormitus: esim. pienehkö jätevesikuormitus<br />
*Pintavesi - Suuri kuormitus: esim. jätevesikuormitus<br />
<br />
'''TAI'''<br />
<br />
Valitse 'Määrittelen mikrobipitoisuudet itse'. Kirjoita patogeenien pitoisuudet niiden laatikoihin.<br />
<br />
'''2. Ilmoita juomaveden kulutus''' vuorokautta kohden litroina päivässä henkeä kohti (oletus 1.53 l/pvä).<br />
<br />
'''3. Ilmoita kohdealueen väestön lukumäärä.''' (oletus 100000)<br />
<br />
'''4. Valitse puhdistusprosessit.''' Huom! Voit valita monta vaihtoehtoa<br />
<br />
'''5. Valitse onko klooraus käytössä vai ei''' syöttämällä käytetty klooriannos (mg/l). Mikäli kloorausta ei ole, annokseksi tulee 0 mg/l (oletus 1.5 mg/l).<br />
<br />
'''6. Tuloksen saa näkyviin uudelle sivulle painamalla nappia 'Aja koodi'.'''<br />
<br />
Kahdesta ensimmäisestä taulukosta ja yhdestä sivun lopussa olevasta kuvasta näkee millaisia lähtöarvoja malliin on syötetty. Terveysvaikutuksina ilmoitetaan kaksi tulosta:<br />
*Montako vatsatautitapausta alueella on vuodessa.<br />
*Montako [[DALY]]a eli toimintakyvyllä painotettua elinvuotta menetetään vatsatautitapausten vuoksi ko. alueella.<br />
}}<br />
<br />
== Perustelut ==<br />
<br />
[[Tiedosto:Vesiopas.png]]<br />
<br />
:''Malli on käännetty Analyticasta R:lle. Alkuperäinen malli löytyy täältä: [[Tiedosto:Vesiopas.ANA]]. Mikäli käyttäjä ei itse anna patogeenikohtaisia pitoisuuksia, käytetään sivulla [[Raakaveden patogeenipitoisuudet]] olevia arvoja.<br />
<br />
Talousveden laadulle on asetettu terveysperusteisia laatuvaatimuksia ja -suosituksia. Laatua koskevasta lainsäädännästä vastaa Sosiaali- ja terveysministeriö ja laadun valvonnasta kuntien terveydensuojeluviranomaiset. Hyvän veden laadun ylläpitäminen ja kehittäminen edellyttävät korkealaatuista tutkimusta ja yhteistyötä eri tahojen kanssa. Pohjavesiä tai tekopohjavesiä ei yleensä desinfioida. Raakaveden sisältämät kemikaalit, mikrobit tai talousveden valmistuksessa muodostuvat desinfioinnin sivutuotteet voivat aiheuttaa terveysriskejä talousveden käyttäjille. Vesilaitokselta lähtevä vesi saattaa viipyä pitkiäkin aikoja verkostossa. Mikäli olosuhteet ovat mikrobikasvustolle suotuisat, vesi voi muuttua verkostossa ja kiinteistöjen vesijärjestelmissä huonolaatuiseksi ja jopa terveydelle haitalliseksi. <ref>http://www.ktl.fi/portal/suomi/tietoa_terveydesta/elinymparisto/vesi</ref><br />
<br />
<br />
Talousvesi tuotetaan joko pohja- tai pintavedestä. Näillä on erilaiset ongelmat. Pintaveden käyttö vaatii aina varsinaisen vesilaitoksen perustamista ja siihen liittyvää tietoa, taitoa ja tekniikkaa sekä koulutettua valvontahenkilöstöä. Pohjavesi taas ei vaadi kovin monimutkaista käsittelyä, joten varsinaista vesilaitoshenkilökuntaa tarvitaan varsin vähän ja valvontakin on vähäisempää. Lisäksi meillä on nykyään useita vesilaitoksia, jotka valmistavat tekopohjavettä. Ominaisuuksiltaan tekopohjavedet saattavat olla hyvien pohjavesien kaltaisia, mutta usein vain keskitasoisen pintaveden veroisia. <br />
<br />
<br />
Pohjaveden käsittelyyn kuuluu tavallisesti veden pH:n ja kovuuden nosto. Tähän voidaan käyttää erilaisia tekniikoita, joista pH:n säädössä kalsiumhydroksidin ja hiilidioksidin käyttö lienee yleisimpiä. Toisinaan tarvitaan lisäksi raudan tai mangaanin saostaminen vahvoilla hapettimilla kuten permanganaatilla tai kloorilla. Lisäksi heikkolaatuiset pohjavedet desinfioidaan.<br />
<br />
<br />
Jotta pintavedestä saataisiin hyvää juomavettä, sitä joudutaan käsittelemään varsin rankasti. Vaikeinta on saada pintaveden humusainekset saostettua. Tähän käytetään erilaisten saostuskemikaalien lisäksi mm. pH:n säätöä ja humusaineksen pilkkomista voimakkailla hapettimilla kuten otsonilla. Lisäksi saostuskemikaalien (esim. alumiinin ja raudan suolat) jäämät on poistettava ja veden kovuutta nostettava niin, ettei putkisto aikojen kuluessa haperru. Väestö on myös suojattava pintavesissä aina piileviltä [http://fi.wikipedia.org/wiki/Mikrobi mikrobeilta], joten vesi täytyy desinfioida tautia aiheuttavien mikrobien, patogeenien, poistamiseksi.<br />
<br />
<br />
Veden laatuun vaikuttavat myös verkoston kunto ja veden verkostossa viipymä aika. Jos verkostoon on kertynyt runsaasti saostumia, nämä sakat sisältävät erilaisten epäorgaanisten yhdisteiden lisäksi valtavasti bakteerimassaa. Verkoston saostumien ominaisuuksia ja niiden vaikutusta veden laatuun on Suomessa alettu tutkia vasta viime aikoina. <ref>http://www.ktl.fi/portal/suomi/julkaisut/kansanterveyslehti/lehdet_1999/2_1999/vesiepidemiat_voidaan_estaa_hyvalla_talousveden_kasittelylla/</ref><br />
<br />
<br />
Riskinarvioinnin tarkoituksena on tuottaa tietoa riskin todellisesta suuruudesta päätöksentekoa varten. Riskinarviointi on tieteellinen prosessi, jossa asiantuntijoilla on keskeinen rooli. Koska tutkittavia riskejä monenlaisia, riskinarviointiprosessit voivat olla hyvin erilaisia. Ympäristöterveyden alalla riskinarvioinnin katsotaan tavallisesti koostuvan neljästä vaiheesta:<br />
# Vaaran tunnistaminen (aiheuttaako tutkittava tekijä vaaraa ihmiselle?)<br />
# Annosvasteen arviointi (mikä on annoksen ja vaikutuksen suhde?)<br />
# Altistumisen arviointi (kuinka paljon ihmiset altistuvat?)<br />
# Riskin karakterisointi (kuinka suuri on terveysriski?)<ref>http://wanda.uef.fi/tkk/avoin/ymp_terveys/</ref><br />
<br />
Kaikkien vesilaitosten tulisi ajoittain tehdä talousvedelle riskinarviointi. Siinä selvitetään toimenpiteet eri kriisitilanteita varten ja laaditaan suunnitelmat eri ongelmatilanteita ja mahdollisia vahinkoja varten. Erilaiset vesilaitokset ja esimerkiksi lomakeskukset tarvitsevat erilaiset suunnitelmat ja toteutukset. <br />
<br />
=== Riippuvuudet ===<br />
<br />
* Op_fi2652 [[Suomen ikäjakauma]]: Populaation koko, Väestön ikärakenne, Odotettu elinikä<br />
* Op_fi1759 [[Infektion todennäköisyys per henkilö]]<br />
** Op_fi2653 [[Patogeenien annosvasteet]]<br />
** Op_fi2994 [[Paikkakuntakohtaiset tiedot talousveden käsittelyyn]] väestömäärä ja vedenkulutus<br />
** Op_fi2669 [[Patogeeneille altistuminen]]<br />
*** Op_fi1757 [[Juomaveden kulutus]]<br />
*** Op_fi2668 [[Patogeenien pitoisuudet puhdistetussa juomavedessä]]<br />
**** Op_fi2655 [[Raakaveden patogeenipitoisuudet]]<br />
**** Op_fi2656 [[Vedenkäsittelyn tehokkuus]] (Suodatukset ym)<br />
**** Op_fi2993 [[Juomaveden desinfiointi]] (klooraus ym)<br />
***** Op_fi2667 [[Klooraus]]<br />
<br />
== Katso myös ==<br />
<br />
{{metodi|moderator = Päivi Meriläinen}}<br />
*[[Juomaveden patogeenit]]<br />
*[[Juomaveden patogeenien terveysvaikutukset]]<br />
<br />
*[[Arviointi pohjavesilaitoksen mikrobiologisista riskeistä]]<br />
*[[Arviointi juomaveden kloorifenolien terveysvaikutuksista]]<br />
*[[:heande:Kuovesi]]<br />
* [[Mikrobien määrä juomavedessä]]<br />
* [[Mikrobien määrä pohjavedessä]]<br />
<br />
*http://www.fao.org/docrep/006/y4666e/y4666e06.htm#TopOfPage<br />
*http://wiki.camra.msu.edu/index.php?title=Main_Page<br />
*http://www.medicina.fi/index.php?option=com_content&view=article&id=48&Itemid=56#I<br />
<br />
; Turhia?<br />
*[[Infektion vuosittainen todennäköisyys]]<br />
*[[Vatsatautien tapaukset]]<br />
*[[Patogeenien DALYt vatsataudille]] Yhdistettävä sivuun [[:op_en:DALY]]?<br />
<br />
=== Paikkakuntakohtaiset tiedot ===<br />
<br />
* Op_fi2603 [[Arviointi juomaveden laadun terveysvaikutuksista/Kuopio]] (vedenpuhdistamon tietoja)<br />
*[[:heande:Polaris:Raakaveden patogeenipitoisuudet/Lahti]]<br />
*[[:heande:Polaris:Raakaveden patogeenipitoisuudet/Mikkeli]]<br />
*[[:heande:Polaris:Raakaveden patogeenipitoisuudet/Kirkkonummi]]<br />
*[[:heande:Polaris:Paikkakuntakohtaiset tiedot talousveden käsittelyyn/Lahti]]<br />
*[[:heande:Polaris:Paikkakuntakohtaiset tiedot talousveden käsittelyyn/Mikkeli]]<br />
*[[:heande:Polaris:Paikkakuntakohtaiset tiedot talousveden käsittelyyn/Kirkkonummi]]<br />
*[[:heande:Polaris:Juomaveden desinfiointi/Lahti]]<br />
*[[:heande:Polaris:Juomaveden desinfiointi/Mikkeli]]<br />
*[[:heande:Polaris:Juomaveden desinfiointi/Kirkkonummi]]<br />
*[[:heande:Polaris:Vedenkäsittelyn tehokkuus/Lahti]]<br />
*[[:heande:Polaris:Vedenkäsittelyn tehokkuus/Mikkeli]]<br />
*[[:heande:Polaris:Vedenkäsittelyn tehokkuus/Kirkkonummi]]<br />
<br />
==Viitteet==<br />
<br />
<references/><br />
<br />
{{eracedu}}</div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=K%C3%A4ytt%C3%A4j%C3%A4:Teemu_R/Ty%C3%B6aika&diff=26566
Käyttäjä:Teemu R/Työaika
2014-09-11T11:01:01Z
<p>Teemu R: </p>
<hr />
<div><t2b index="Aikalaji,Projekti,Alaprojekti,Havainto" Locations="alku,loppu,toistoväli,asti,kuvaus" unit="d"><br />
Työaika|Urgenche||2014-06-10 13:00|2014-06-10 16:00|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-10 20:00|2014-06-10 23:00|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-11 10:00|2014-06-11 14:20|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-11 16:20|2014-06-11 22:20|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-12 10:00|2014-06-12 15:00|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-13 13:00|2014-06-13 17:00|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-15 21:00|2014-06-15 23:00|||Energiatase-mallin korjailu<br />
Työaika|LVM||2014-06-16 10:00|2014-06-16 14:00|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-16 14:30|2014-06-16 17:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-17 12:00|2014-06-17 18:00|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-17 22:30|2014-06-17 23:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-18 12:30|2014-06-18 17:00|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-19 11:00|2014-06-19 16:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-23 11:00|2014-06-23 16:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-23 17:00|2014-06-23 19:00|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-24 10:45|2014-06-24 13:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-24 15:30|2014-06-24 20:20|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-24 21:10|2014-06-24 22:45|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-06-25 10:30|2014-06-25 15:00|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-25 15:30|2014-06-25 18:30|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-26 10:30|2014-06-26 14:30|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-26 16:00|2014-06-26 19:50|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-27 08:30|2014-06-27 12:00|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-30 12:00|2014-06-30 16:30|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-06-30 17:30|2014-06-30 20:50|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-01 11:00|2014-07-01 14:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-02 12:20|2014-07-02 16:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-03 11:40|2014-07-03 16:30|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-03 19:30|2014-07-03 23:15|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-04 10:40|2014-07-04 12:25|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-05 08:10|2014-07-05 10:50|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-05 12:20|2014-07-05 15:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-07 11:10|2014-07-07 14:20|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-07 16:05|2014-07-07 17:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-09 18:45|2014-07-09 20:25|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-10 14:40|2014-07-10 18:40|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-10 20:10|2014-07-10 22:05|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-11 13:40|2014-07-11 15:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-11 15:50|2014-07-11 16:20|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-14 10:05|2014-07-14 14:05|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-14 16:00|2014-07-14 19:25|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-15 12:05|2014-07-15 14:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-15 15:10|2014-07-15 15:55|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-16 12:15|2014-07-16 15:20|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-17 11:30|2014-07-17 14:35|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-17 15:15|2014-07-17 17:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-18 11:10|2014-07-18 15:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-18 15:50|2014-07-18 16:45|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-21 11:35|2014-07-21 13:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-22 10:50|2014-07-22 16:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-22 16:30|2014-07-22 21:35|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-23 11:30|2014-07-23 12:30|||Tägikoneen kehittäminen<br />
Työaika|Urgenche||2014-07-24 12:00|2014-07-24 16:15|||Building model<br />
Työaika|Urgenche||2014-07-24 17:00|2014-07-24 21:00|||Building model<br />
Työaika|Urgenche||2014-07-25 11:05|2014-07-25 14:50|||Building model<br />
Työaika|Urgenche||2014-07-25 15:20|2014-07-25 15:55|||Building model<br />
Työaika|ROKO||2014-07-28 10:55|2014-07-28 15:35|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-28 16:05|2014-07-28 17:30|||Tägikoneen kehittäminen<br />
Työaika|Urgenche||2014-07-29 11:00|2014-07-29 15:40|||Building model<br />
Työaika|Urgenche||2014-07-30 13:40|2014-07-30 16:55|||Building model<br />
Työaika|Urgenche||2014-07-31 11:05|2014-07-31 16:20|||Building model<br />
Työaika|Urgenche||2014-08-04 11:55|2014-08-04 14:00|||Building model<br />
Työaika|Urgenche||2014-08-05 12:15|2014-08-05 16:30|||Building model<br />
Työaika|ROKO||2014-08-11 10:50|2014-08-11 16:00|||Kva-mallin korjailu ja viimeistely<br />
Työaika|ROKO||2014-08-13 14:00|2014-08-13 15:05|||Kva-mallin korjailu ja viimeistely<br />
Työaika|ROKO||2014-08-14 09:45|2014-08-14 12:00|||Kva-mallin korjailu ja viimeistely<br />
Työaika|ROKO||2014-08-14 13:50|2014-08-14 17:35|||Kva-mallin korjailu ja viimeistely<br />
Työaika|ROKO||2014-08-15 11:15|2014-08-15 15:30|||Kva-mallin korjailu ja viimeistely<br />
Työaika|ROKO||2014-08-15 16:00|2014-08-15 20:50|||Kva-mallin korjailu ja viimeistely<br />
Työaika|ROKO||2014-08-17 21:10|2014-08-17 23:20|||Kva-mallin korjailu ja viimeistely<br />
Työaika|ROKO||2014-08-18 11:15|2014-08-18 15:05|||Kva-mallin korjailu ja viimeistely<br />
Työaika|ROKO||2014-08-19 10:35|2014-08-19 15:10|||Kva-mallin korjailu ja viimeistely<br />
Työaika|ROKO||2014-08-20 12:00|2014-08-20 13:50|||Kva-mallin korjailu ja viimeistely<br />
Työaika|ROKO||2014-08-20 14:35|2014-08-20 15:20|||Kva-mallin korjailu ja viimeistely<br />
Työaika|ROKO||2014-08-21 10:10|2014-08-21 14:30|||Kva-mallin korjailu ja viimeistely<br />
Työaika|ROKO||2014-08-25 11:45|2014-08-25 14:15|||Kva-mallin korjailu ja viimeistely<br />
Työaika|LVM||2014-08-26 10:20|2014-08-26 15:00|||Tägikoneen dokumentointi<br />
Työaika|LVM||2014-08-27 11:00|2014-08-27 13:10|||Tägikoneen dokumentointi<br />
Työaika|LVM||2014-08-27 14:00|2014-08-27 16:15|||Tägikoneen dokumentointi<br />
Työaika|Opasnet||2014-08-28 09:45|2014-08-28 14:00|||OpasnetUtils päivitys<br />
Työaika|Opasnet||2014-08-29 13:00|2014-08-29 17:40|||OpasnetUtils päivitys<br />
</t2b><br />
<br />
<rcode embed=1 label="Laske tunnit"><br />
library(OpasnetUtils)<br />
<br />
dat <- opbase.data("Op_fi3349")<br />
<br />
alku <- dat[dat$Havainto == "alku", "Result"]<br />
loppu <- dat[dat$Havainto == "loppu", "Result"]<br />
<br />
tunnit <- as.POSIXct(loppu) - as.POSIXct(alku)<br />
oprint(tunnit)<br />
oprint(tapply(tunnit, factor(as.numeric(strftime(alku, format = "%W"))+1), sum))<br />
oprint(sum(tunnit))<br />
</rcode><br />
<br />
<br />
<rcode embed=1 label="Laske edelliset tunnit"><br />
library(OpasnetUtils)<br />
<br />
dat <- opbase.data("Op_fi3349", 12721)<br />
<br />
alku <- dat[dat$Havainto == "alku", "Result"]<br />
loppu <- dat[dat$Havainto == "loppu", "Result"]<br />
<br />
oprint(sum(as.POSIXct(loppu) - as.POSIXct(alku)))<br />
</rcode></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Liikenne_ja_viestint%C3%A4_digitaalisessa_Suomessa_2020/Sis%C3%A4ll%C3%B6nanalyysi&diff=26236
Liikenne ja viestintä digitaalisessa Suomessa 2020/Sisällönanalyysi
2014-09-01T11:15:19Z
<p>Teemu R: /* Avainsanoitus */</p>
<hr />
<div>{{LVM}}<br />
<br />
'''Tällä sivulla voit tarkastella liikenneministeriön tulevaisuuskatsauksen sisältöä ja kansalaisten antamien kommenttien suhdetta siihen. <br />
Alla olevilla työkaluilla voit hakea tekstin jakeita eli erillisiä tekstikappaleita ja niihin liittyviä avainsanoja tai muita jakeita. Relaatiot tarkoittavat kuvailua siitä, millä tavalla kaksi jaetta liittyy toisiinsa.'''<br />
<br />
= Tägikone =<br />
{{tuloslinkki}}<br />
== Käyttöohje ==<br />
Tägikoneen idea on pitää yllä jaetietokantaa ja määritellään jakeille avainsanoja ja relaatoita joiden tarkoitus on rikastaa sivustolla käydystä keskustelusta analyysikelpoista yleisemmän tason tietoa. <br /><br />
<br />
'''[[#Jakeet]] määritellään koodilla joka lukee wikisivuilta tekstiä kappaleittain (myös taulukot ja bullet pointit). Jakeisiin lisätään myös kommentointityökalulla tehdyt kommentit, joita ei vielä ole siirretty wikitekstiin, sekä tämän sivun [[#Jakeenlisäyskone|koodilla lisätyt jakeet]]. Kullakin jakeella on oma tunniste (JaeID) joka on sivukohtainen. Etsimällä [[#Jaehakukone|jaehakukoneesta]] oman kommenttisi ja kopioimalla JaeID:n muihin sivun hakukoneisiin voit tarkastella kommenttiisi liitettyjä tägitietoja.'''<br /><br />
<br />
'''[[#Avainsanat]] ovat jaekohtaisia ja ne lisätään yleensä käsityönä. [[#Avainsanoitus|Avainsanoituksen]] tekee joko kommentoija itse tai moderaattori.'''<br /><br />
<br />
'''[[#Relaatiot]] voidaan määritellä kahden jakeen välille (myös käsityötä). [[#Relaation lisääminen|Relaatiot lisää]] joko kommentoija itse tai moderaattori.'''<br /><br />
<br />
'''[[#Versiot]] - wikisivuja päivitetään mahdollisesti jatkuvasti, minkä johdosta versiointi on tarpeellista. Hakukoneissa esiintyvä Versio-kentän arvo 'nykyinen' hakee koko hankkeen uusimman version. Koska jakeet ovat versiokohtaisia niin avainsanat ja relaatiot ovat myös versiokohtaisia. Avainsanojen ja relaatioiden automaattista periytymistä on kehitetty, mutta [[#Sulautus (automaattinen sisällytys)|koodi]] on vielä kesken .'''<br />
<br />
== Yhdistelmähakukoneet ==<br />
=== Jaekohtainen avainsanalistaus ===<br />
'''Hakee jakeita ja näyttää kaikki niihin liittyvät avainsanat'''<br />
<rcode label="Hae" name="avainsanat_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) == 0) {<br />
stop("Jakeita ei löytynyt!")<br />
}<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
} else {<br />
# Yhdistetään kunkin jakeen avainsanat yhdelle riville<br />
tags <- ddply(<br />
tags, <br />
c("Versio", "Sivu", "JaeID"), <br />
function(x) {a <- x[1,];a$Avainsanat <- paste(x$Result, collapse = ", ");return(a)}<br />
)<br />
<br />
out <- join(<br />
out[c("Versio", "Sivu", "JaeID", "Result")],<br />
tags[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
by = c("Versio", "Sivu", "JaeID"),<br />
type = "inner",<br />
match = "first"<br />
)<br />
<br />
# Jos annettiin vain yksi versio ja/tai sivu niin niitä ei tarvitse printata<br />
filter_ind <- NULL<br />
if (length(version) != 1) filter_ind <- c(filter_ind, "Versio")<br />
if (length(sivu) != 1) filter_ind <- c(filter_ind, "Sivu")<br />
filter_ind <- c(filter_ind, "JaeID")<br />
<br />
oprint(<br />
out[c(filter_ind, "Result", "Avainsanat")], <br />
include.rownames = FALSE, <br />
show_all = TRUE<br />
)<br />
}<br />
</rcode><br />
<br />
=== Jae-relaatio-jae listaus ===<br />
'''Hakee jakeita ja niihin liittyviä toisia jakeita listaten myös relaation tyypin'''<br />
<rcode label="Hae" name="relaatiot_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta relaatioita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:liitsis|description:Liittymistyyppi (tyhjä = kaikki)|type:checkbox|options:<br />
'tukee tai on linjassa';Tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';Vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';On neutraali suhteessa;<br />
'on uusi linjaus tai painotus';On uusi linjaus tai painotus;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';Ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';Ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin';Ehdotus ei ole antanut aihetta muutoksiin;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';Ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:details|description:Näytetäänkö tekniset yksityiskohdat?|type:selection|options:FALSE;Ei, vain jakeiden sisältö;TRUE;Kyllä, myös jakeiden numerot|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
# Eri sisältymistyypit pitää määritellä niin että ne voidaan käsitellä erillään muista relaatioista<br />
sis_opt <- c(<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu',<br />
'ehdotus huomioitu ja uusi kohta lisätty',<br />
'ehdotus ei ole antanut aihetta muutoksiin', <br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun'<br />
)<br />
#liit_opt <- c(<br />
# 'tukee tai on linjassa',<br />
# 'vastustaa tai on ristiriidassa',<br />
# 'on neutraali suhteessa',<br />
# 'on uusi linjaus tai painotus'<br />
#)<br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (!is.null(liitsis)) rel <- rel[rel$Result %in% liitsis, ]<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = unique(c(<br />
as.character(rel$Sivu1), <br />
as.character(rel$Sivu2)<br />
)), <br />
versio = version, <br />
jae = unique(c(<br />
as.character(rel$JaeID1), <br />
as.character(rel$JaeID2)<br />
))<br />
)<br />
if (nrow(jakeet) == 0) stop("Relaatioissa listattuja jakeita ei löytynyt!")<br />
<br />
# Relaatiot<br />
if (nrow(rel[!(rel$Relaatio %in% sis_opt),]) > 0) {<br />
jakeet <- jakeet[c("Versio", "Sivu", "JaeID", "Result")]<br />
colnames(jakeet)[colnames(jakeet) == "JaeID"] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu"] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Jae1"<br />
rel <- rel[c("RelaatioID", "Versio", "Sivu1", "JaeID1", "Result", "Sivu2", "JaeID2")]<br />
colnames(rel)[colnames(rel) == "Result"] <- "Relaatio"<br />
out <- join(<br />
rel[(!(rel$Relaatio %in% sis_opt)) & rel$Versio %in% original_version,], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
out <- join(out, jakeet, match = "first")<br />
<br />
if(details) {<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
<br />
temp <- out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")]<br />
temp <- data.frame(<br />
Jae1 = paste(temp$Jae1, " (", temp$Sivu1, ")", sep = ""),<br />
Relaatio = temp$Relaatio,<br />
Jae2 = paste(temp$Jae2, " (", temp$Sivu2, ")", sep = "")<br />
)<br />
oprint(temp, <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
}<br />
} else {<br />
cat("Ei relaatioita!\n")<br />
}<br />
<br />
# Sisällytykset<br />
if (nrow(rel[(rel$Relaatio %in% sis_opt),]) > 0) {<br />
colnames(jakeet)[colnames(jakeet) %in% c("JaeID","JaeID2")] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Sivu", "Sivu2")] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Result", "Jae2")] <- "Jae1"<br />
colnames(rel)[colnames(rel) == "Relaatio"] <- "Sisällytys"<br />
out <- join(<br />
rel[rel$Sisällytys %in% sis_opt & rel$Versio %in% version[-length(version)],], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
jakeet$Versio <- as.numeric(as.character(jakeet$Versio)) - 1<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Sisällytys", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Sisällytys (uudempaan versioon)", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei sisällytyksiä!\n")<br />
}<br />
}<br />
</rcode><br />
<br />
=== Avainsana- ja relaatiotietojen analyysi ===<br />
<br />
'''Hae jakeita annetuilla kriteereillä ja vertaile avainsanojen ja relaatioiden lukumääriä. Halutessasi voit myös listata jaeosumat. Vapaakenttiin voi syöttää useita arvoja erottelemalla ne pilkuilla.'''<br />
<br />
Käytetyt avainsanat:<br />
{{piilotettu|<br />
3D-tulostus Aikataulut Ajoneuvokanta Alueellisuus <br />
alustus Ammattiryhmät Arvo Asutus <br />
Aurinko Automatisaatio Avoimuus Big Data <br />
Biopolttoaine Dataliikenne Digitalisoituminen Eettisyys <br />
eIDAS Elintaso Energia Epäselvä luokka <br />
Eriarvoisuus Erityisryhmät Esineiden internet Globaalius <br />
Globaaluis Henkilökortti Henkilötiedot Huutokauppa <br />
Hybridi Hybridi-TV Hyvinvointi Hyvinvointiyhteiskunta <br />
Häiriöt Ilmasto Infrastruktuuri Innovatiivisus <br />
Innovatiivisuus Internet Investoinnit Joukkoliikenne <br />
Joustavuus Julkinen valta Kaivosteollisuus Kansainvälisyys <br />
Kasvihuonekaasut Kaupallisuus Kaupungit Kehitys <br />
Kestävyys Kevyen liikenteen väylät Kevytliikenne Kiinteistöt <br />
Kilpailu Kilpailukyky Konesalit Konkreettisuus <br />
Kotimaisuus Koulutus Kunnat Kustannustehokkuus <br />
Kuuluvuus Kävely Laajakaista Lainsäädäntö <br />
Laiton tarjonta Langattomuus Lappi Lentoliikenne <br />
Liikenne Liikenneverkostot Liikkumistili Linja-autot <br />
Logistiikka Luonnonsuojelu Lämmitys Maakaasu <br />
Maatalous Mainonta Markkinat Massavalvonta <br />
Meriliikenne Metadata Mobiiliverkko Mopot <br />
Nopeus Ohjaus Ohjelmistot Ohjelmistotoimittaja <br />
Oikeusturva Omavaraisuus Operaattori Osaaminen <br />
Ostovoima Palaute Palvelut Palvelutaso <br />
Peruskunto Pilvipalvelut Polttoaine Posti <br />
Puelueettomuus Pysäköinti Pyöräily Päivitys <br />
Pääkaupunkiseutu Päästöt Päätöksenteko Päätös <br />
Raha Rahoitus Rahtliikenne Rajapinnat <br />
Rakennemuutos Rakentaminen Raskas liikenne Rautatiet <br />
Riippuvuus Rikokset Robotisaatio Ruuhkamaksu <br />
Ruuhkautuminen Saatavuus Sateliittipaikannus Sovellukset <br />
Strategia Suunnittelu Sähkö Sähköauto <br />
Sääntely Säästöt Talous Talouskasvu <br />
Tarpeet Tasa-arvo Tasapuolisuus Tasavertaisuus <br />
Tavaraliikenne Tehokkuus Tekijänoikeus Tekniikkaneutraalius <br />
Tekninen tuki Teknologia Teknologianeutraalius Teollisuus <br />
Terveydenhuolto Terveys testi Tiedon avoimuus <br />
Tiedon hallinnointi Tiedon hallinta Tiedon hyödyntäminen Tieliikenne <br />
Tietoliikenne Tietoturva Toimilupa Toiminta <br />
Toimintavarmuus Toimivuus Tuki Turvallisuus <br />
Turvaverkko Tutkimus Tuuli TV <br />
Työllisyys Työn tekemiseen liittyvä Ulkomaat Uudistus <br />
Vaihtoehtoiset polttoaineet Vaikuttaminen Vaikutus Vakuutus <br />
Valinnanvapaus Valtio Varmenne Varmuus <br />
Vastuu Verkostoituminen Verotus Vesiliikenne <br />
Vesiliikenne, Tasavertaisuus Viestintäverkot Viranomaiset Yhteensopivuus <br />
Yhteiskunta Yhteiskuntamurros Yhteistyö Yhteysnopeus <br />
Yksityisautoilu Yksityisyydensuoja YLE Yleispalvelu <br />
Yleisradio Ympäristö Yritykset Öljy <br />
}}<br />
<br />
<rcode label="Näytä tilastoja/jakeita" name="jae_stats" embed=1 graphics=1 variables="<br />
name:sivu|description:Minkä sivun jakeita haluat tarkastella?|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:avainsanat|description:Hae jakeita joilla on ainakin yksi seuraavista avainsanoista|type:text|<br />
name:avainsanat_all|description:Hae jakeita joilla on kaikki seuraavat avainsanat|type:text|<br />
name:jaelista|description:Haluatko nähdä kaikki löydetyt jakeet?|type:selection|options:FALSE;En;TRUE;Kyllä|default:FALSE|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
library(ggplot2)<br />
<br />
filter <- list()<br />
if (nchar(gsub(" ", "", avainsanat)) > 0) {<br />
avainsanat <- strsplit(avainsanat, ",")[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat) <br />
} else {<br />
avainsanat <- NULL<br />
}<br />
if (nchar(gsub(" ", "", avainsanat_all)) > 0) {<br />
avainsanat_all <- strsplit(avainsanat_all, ",")[[1]]<br />
avainsanat_all <- gsub("^\\s*|\\s*$", "", avainsanat_all)<br />
#filter$Avainsana <- avainsanat_all<br />
} else {<br />
avainsanat_all <- NULL<br />
}<br />
filter$Sivu <- sivu<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
filter$Versio <- version<br />
<br />
if (length(filter) == 0) filter <- NULL<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
jaeid <- NULL<br />
<br />
if (!is.null(avainsanat)|!is.null(avainsanat_all)) {<br />
tags <- tags[tags$Result %in% c(avainsanat, avainsanat_all), ]<br />
jaeid <- unique(as.character(tags$JaeID))<br />
}<br />
<br />
if(!is.null(avainsanat_all)) {<br />
temp <- list()<br />
for (i in 1:nrow(jaeid)) {<br />
temp[[i]] <- avainsanat_all %in% tags$Result[tags$JaeID == jaeid[i]]<br />
}<br />
temp <- lapply(temp, all)<br />
jaeid <- jaeid[temp]<br />
tags <- tags[tags$JaeID %in% jaeid,]<br />
}<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt.\n")<br />
}<br />
<br />
if (is.null(filter)) {<br />
filter2 <- list()<br />
} else {<br />
filter2 <- filter<br />
}<br />
<br />
filter2$JaeID <- jaeid<br />
<br />
if (length(filter2) == 0) filter2 <- NULL<br />
<br />
if (jaelista) {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = filter2$Sivu, # *list$non-existent returns NULL<br />
versio = filter2$Versio, <br />
jae = filter2$JaeID<br />
)<br />
if (nrow(jakeet) == 0) {<br />
cat("Avainsanoissa listattuja jakeita ei löytynyt.\n")<br />
} else {<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Sisältö"<br />
tagged <- NULL<br />
if (nrow(tags) > 0) {<br />
#tagged <- join(<br />
# jakeet[c("Versio", "Sivu", "Aihe", "JaeID")], <br />
# tags[c("Versio", "Sivu", "JaeID", "Result")]<br />
#)<br />
#colnames(tagged)[colnames(tagged) == "Result"] <- "Avainsana"<br />
tagged <- tapply(tags$Result, tags[c("Versio", "Sivu", "JaeID")], paste, collapse = ", ")<br />
tagged <- as.data.frame(as.table(tagged))<br />
colnames(tagged)[colnames(tagged) == "Freq"] <- "Avainsanat"<br />
tagged <- join(<br />
jakeet[c("Versio", "Sivu", "JaeID", "Sisältö")], <br />
tagged[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
type = "inner",<br />
match = "first"<br />
)<br />
oprint(<br />
tagged[c("Versio", "Sivu", "JaeID", "Sisältö", "Avainsanat")],<br />
caption = "Jakeet", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = rep(0, 6)<br />
)<br />
}<br />
}<br />
}<br />
<br />
if (nrow(tags) > 0) {<br />
tags_out <- ddply(tags, "Result", nrow)<br />
colnames(tags_out) <- c("Avainsana", "Lukumäärä")<br />
tags_out <- tags_out[order(tags_out$Lukumäärä, decreasing = TRUE),]<br />
oprint(<br />
tags_out,<br />
caption = "Avainsanojen lukumäärät", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = c(0, 0, 0)<br />
)<br />
ggplot(tags_out, aes(x = Avainsana, y = Lukumäärä, fill = Avainsana)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Avainsanojen frekvenssit")<br />
}<br />
<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter3 <- list()<br />
filter3$Sivu1 <- sivu<br />
filter3$Versio <- version<br />
filter3$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter3$JaeID1 <- NULL<br />
filter3$Sivu1 <- NULL<br />
filter3$JaeID2 <- jaeid<br />
filter3$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
related <- rel[<br />
rel$Result %in% c(<br />
"on neutraali suhteessa", <br />
"on uusi linjaus tai painotus", <br />
"tukee tai on linjassa", <br />
"vastustaa tai on ristiriidassa"<br />
), ]<br />
related$Result <- as.character(related$Result)<br />
affected <- rel[<br />
rel$Result %in% c(<br />
"ehdotus ei ole antanut aihetta muutoksiin",<br />
"ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun", <br />
"ehdotus huomioitu ja liittyvää painotusta muutettu",<br />
"ehdotus huomioitu ja uusi kohta lisätty"<br />
), ]<br />
affected$Result <- as.character(affected$Result)<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin"] <- "Ei aihetta muutoksiin"<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun"] <- "Sisältyy valmiiksi"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja liittyvää painotusta muutettu"] <- "Huomioitu painotuksella"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja uusi kohta lisätty"] <- "Huomioitu lisäyksellä"<br />
<br />
related_out <- ddply(related, "Result", nrow)<br />
colnames(related_out) <- c("Relaatio", "Lukumäärä")<br />
<br />
affected_out <- ddply(affected, "Result", nrow)<br />
colnames(affected_out) <- c("Sisällytys", "Lukumäärä")<br />
}<br />
<br />
if (nrow(related_out > 0)) {<br />
ggplot(related_out, aes(x = Relaatio, y = Lukumäärä, fill = Relaatio)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Relaatioiden frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
<br />
if (nrow(affected_out > 0)) {<br />
ggplot(affected_out, aes(x = Sisällytys, y = Lukumäärä, fill = Sisällytys)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Sisällytyksen frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
</rcode><br />
<br />
== Työkalut ==<br />
'''Aineiston työstämiseen tarkoitettuja koodeja.'''<br />
=== Jakeet ===<br />
==== Jaehakukone ====<br />
'''Hakee jakeita annetuilla kriteereillä. Näyttää myös tekniset sarakkeet. Vapaakenttiin voi laittaa useita arvoja erottelemalla ne pilkuilla.'''<br />
<rcode label="Näytä jakeet" name="jakeet" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Jakeita ei löytynyt!\n")<br />
}<br />
</rcode><br />
<br />
==== Jakeenlisäyskone ====<br />
'''Lisää tietokantaan vapaasti määriteltävän jakeen. Lisätyt jakeet näkyvät tämän sivun hakukoneissa. Niiden JaeID:llä on "L"-etuliite.'''<br />
<rcode label="Lisää jae" name="jakeenlisays" embed=1 variables="<br />
name:sivu|description:Sivu jolle jae lisätään|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:sisalto|description:Jakeen sisältö|type:textbox|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame( <br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
JaeID = NA,<br />
Result = sisalto<br />
)<br />
<br />
ident.subset <- paste(ident, "Jakeenlisaykset", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
filter$Sivu <- sivu<br />
<br />
upload_with_autoid(<br />
out,<br />
ident.subset,<br />
id_name = "JaeID",<br />
pagename = pagename,<br />
prefix = "L",<br />
filter = filter<br />
)<br />
</rcode><br />
<br />
==== Jakeenpoistokone ====<br />
'''Merkitsee jakeen epäkelvoksi, jolloin se jätetään näyttämättä kaikissa tämän sivun hakukoneissa.'''<br />
<rcode label="Poista jae" name="jakeenpoisto" embed=1 variables="<br />
name:sivu|description:Poistettavan jakeen sivu|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Poistettavan jakeen ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Tekninen jae';Tekninen jae;<br />
'Jae ei liity sivun aiheeseen';Jae ei liity sivun aiheeseen;<br />
'Jae on häiriköintiä';Jae on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jaeid <- strsplit(jaeid, ",", fixed = TRUE)[[1]]<br />
jaeid <- gsub(" ", "", jaeid)<br />
<br />
if (sum(nchar(jaeid)) == 0) stop("Anna jakeen ID")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame(<br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = as.character(jaeid)<br />
)<br />
<br />
opbase.upload(<br />
out, <br />
who = wiki_username, <br />
name = pagename,<br />
subset = "Jakeenpoistot",<br />
act_type = "append", <br />
language = "fin"<br />
)<br />
</rcode><br />
<br />
=== Avainsanat ===<br />
==== Avainsanahakukone ====<br />
'''Hakee jaekohtaisia avainsanoja. Näyttää datan sellaisena kuin se on tietokannassa.'''<br />
<rcode label="Näytä avainsanat" name="avainsanat_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka avainsanoja haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
out <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
==== Avainsanoitus ====<br />
'''Lisää annetut avainsanat tietokantaan. Avainanoja voidaan lisätä ruksaamalla annetusta listasta (vain yleisimmät) ja syöttämällä vapaakenttään pilkulla eroteltuna.'''<br />
<rcode label="Lisää avainsana" name="avainsananlisays" embed=1 variables="<br />
name:sivu|description:Minkä sivun jakeelle haluat lisätä avainsanoja?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Mikä on jakeen versio?|type:text|default:nykyinen|<br />
name:jae|description:Mikä on jakeen ID?|type:text|<br />
name:yl_avainsanat|description:Valitse alla olevasta listasta yleisiä avainsanoja.|type:checkbox|options:<br />
'Päätös';A Päätös (jae sisältää päätös- tai toimintaehdotuksen);<br />
'Vaikutus';B Vaikutus (jae kuvaa ilmiötä tai vaikutusta);<br />
'Arvo';C Arvo (jakeessa on arvoarvostelma tai kuvaa asian merkitystä);<br />
'Työn tekemiseen liittyvä';D Katsaustyön tekemiseen liittyvä;<br />
'Epäselvä luokka';E Ei mikään edellisistä (valitse ainakin yksi A-E)|<br />
name:avainsanat|description:Laita halutessasi yllä listaamattomattomia avainsanoja tähän pilkulla eroteltuna.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
avainsanat <- strsplit(avainsanat, ",", fixed = TRUE)[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat)<br />
avainsanat <- avainsanat[nchar(avainsanat) > 0]<br />
avainsanat <- c(yl_avainsanat, avainsanat)<br />
if (length(avainsanat) == 0) stop("Yhtään avainsanaa ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
AvainsanaID = NA, <br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Sivu = sivu,<br />
JaeID = as.character(jae), <br />
Result = avainsanat<br />
)<br />
<br />
ident.subset <- paste(ident, "Avainsanat", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "AvainsanaID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Avainsanojen lisääminen onnistui.\n")<br />
</rcode><br />
<br />
==== Avainsanan poisto ====<br />
'''Merkitsee avainsanan epäkelvoksi, jolloin tämän sivun hakukoneet eivät näytä sitä.'''<br />
<rcode name="avainsananpoisto" embed=1 label="Poista avainsana" showcode=0 variables="<br />
name:avid|description:Poistettavan avainsanan ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Avainsana ei päde uudessa versiossa';Avainsana ei päde uudessa versiossa;<br />
'Virheellinen avainsana';Virheellinen avainsana|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
avid <- strsplit(avid, ",", fixed = TRUE)[[1]]<br />
avid <- gsub(" ", "", avid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = avid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Avainsana poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
<br />
<br />
=== Relaatiot ===<br />
==== Relaatiohakukone ====<br />
'''Hakee relaatioita joissa mahdollisesti annetut jakeet esiintyvät. Näyttää datan sellaisena kuin se on tietokannassa.'''<br />
<rcode label="Näytä relaatiot" name="relaatiot_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka relaatioita haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
out <- rbind(rel1, rel2)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(<br />
out, <br />
include.rownames = FALSE,<br />
caption = "Relaatiot", <br />
caption.placement = "top"<br />
)<br />
} else {<br />
cat("Relaatioita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
==== Relaation lisääminen ====<br />
'''Lisää uuden relaation tietokantaan. Samantyyppisiä relaatioita voi kerralla lisätä useita, kun erottelee JaeID:t pilkuilla: relaatiot voi tehdä kaikki yhteen, yksi kaikkiin tai yksi yhteen. '''<br />
<rcode label="Lisää relaatio" name="relaatio" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:nykyinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID?|type:text|<br />
name:relaatio|description:'''Kuinka lähtöjae liittyy kohdejakeeseen?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'tukee tai on linjassa';tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';on neutraali suhteessa;<br />
'on uusi linjaus tai painotus';on uusi linjaus tai painotus;<br />
'kuuluu ryhmään/kokoelmaan';kuuluu ryhmään/kokoelmaan|<br />
name:lisarelaatio|description:VAPAAEHTOINEN Voit antaa oman jakeiden välisen relaation vapaakenttään.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
relaatio <- ifelse(lisarelaatio == '', relaatio, lisarelaatio)<br />
if (nchar(gsub(" ", "", relaatio)) == 0) stop("Relaatiota ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = relaatio<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Relaation lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
==== Sisällytyksen lisääminen ====<br />
'''Lisää uuden sisällytyksen tietokantaan. Sisällytys tapahtuu aina seuraavaan versioon. Samantyyppisiä sisällytyksiä voi kerralla lisätä useita, kun erottelee JaeID:t pilkuilla: sisällytykset voi tehdä kaikki yhteen, yksi kaikkiin tai yksi yhteen. '''<br />
<rcode label="Lisää sisällytys" name="sisallytys" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:edellinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID (uudemmassa versiossa)?|type:text|<br />
name:sisallytys|description:'''Sisällytettiinkö ehdotus uudempaan versioon?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun;<br />
'ehdotus ei ole antanut aihetta muutoksiin';ehdotus ei ole antanut aihetta muutoksiin|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
if (nchar(gsub(" ", "", sisallytys)) == 0) stop("Sisällytyksen tyyppiä ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "edellinen") {<br />
version <- get_current_version(ident) - 1<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = sisallytys<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Sisällytyksen lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
==== Relaation poisto ====<br />
'''Merkitsee relaation/sisällytyksen epäkelvoksi, jolloin tämän sivun hakukoneet eivät näytä sitä.'''<br />
<rcode name="relaationpoisto" embed=1 label="Poista relaatio" showcode=0 variables="<br />
name:relid|description:Poistettavan relaation ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Relaatio ei päde uudessa versiossa';Relaatio ei päde uudessa versiossa;<br />
'Virheellinen relaatio';Virheellinen relaatio|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
relid <- strsplit(relid, ",", fixed = TRUE)[[1]]<br />
relid <- gsub(" ", "", relid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = relid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Relaatio poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Sulautus (automaattinen sisällytys) ===<br />
'''Etsii edellisestä versiosta jakeita joiden sisältö löytyy uudessa versiossa jonkin jakeen sisällöstä. Koodi on keskeneräinen johtuen R:n peruskirjaston sisäisestä bugista joka estää samanaikaisen approksimaalisen että osittaisen osuman haun pitkistä teksteistä.''' <br />
{{tuloslinkki}}<br />
<br />
<rcode label="Etsi sulautuksia" name="sulautus" embed=0 variables="<br />
name:sivu|description:Sivut joihin sulautus tehdään (kaikista edellisen version jakeista)|type:checkbox|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:toleranssi|description:Toleranssi (Levenshtein distance)|default:5|<br />
name:tallenna|description:Tallenna kantaan|type:selection|options:TRUE;Kyllä;FALSE;Ei|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
mdat <- get_meta_data(ident)<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
version <- c(version - 1, version)<br />
<br />
jakeet <- jaehakukone(ident, versio = version)<br />
<br />
ver1 <- jakeet[jakeet$Versio == version[1],]<br />
ver2 <- jakeet[jakeet$Versio == version[2] & jakeet$Sivu == sivu,]<br />
<br />
# adist too slow<br />
d <- adist(<br />
ver1$Result, <br />
ver2$Result,<br />
fixed = FALSE<br />
)<br />
d[is.na(d)] <- Inf<br />
#d_min <- apply(d, 1, min)<br />
#d_tol <- d <= toleranssi<br />
#d_out <- apply(d, 1, which.min)<br />
<br />
colnames(ver1)[colnames(ver1) == "Versio"] <- "Versio1"<br />
colnames(ver1)[colnames(ver1) == "Sivu"] <- "Sivu1"<br />
colnames(ver1)[colnames(ver1) == "JaeID"] <- "JaeID1"<br />
colnames(ver1)[colnames(ver1) == "Result"] <- "Result1"<br />
<br />
colnames(ver2)[colnames(ver2) == "Versio"] <- "Versio2"<br />
colnames(ver2)[colnames(ver2) == "Sivu"] <- "Sivu2"<br />
colnames(ver2)[colnames(ver2) == "JaeID"] <- "JaeID2"<br />
colnames(ver2)[colnames(ver2) == "Result"] <- "Result2"<br />
<br />
#out <- cbind(ver1[d_min <= toleranssi, ], ver2[d_out[d_min <= toleranssi], ])<br />
<br />
d <- alply(d, 1, I)<br />
d_tol <- llply(d, function(x) {x <= toleranssi})<br />
d_reps <- laply(d_tol, sum)<br />
d_w <- llply(d_tol, which)<br />
d_w <- unlist(d_w)<br />
<br />
out <- cbind(ver1[rep(1:nrow(ver1), d_reps),], ver2[d_w, ])<br />
<br />
#d <- NULL<br />
#n <- NULL<br />
#for (i in 1:nrow(ver1)) {<br />
# for (j in split(ver2$Result, ceiling((1:nrow(ver2)) / 100))) {<br />
# temp <- agrep(ver1$Result[i], j, toleranssi)<br />
# d <- append(d, temp)<br />
# n <- append(n, length(temp))<br />
# }<br />
#}<br />
<br />
#out <- cbind(<br />
# ver1[rep(1:nrow(ver1), n),],<br />
# ver2[d,]<br />
#)<br />
if (tallenna) {<br />
opbase.upload(<br />
out,<br />
name = pagename,<br />
who = wiki_username,<br />
subset = "Sulautukset"<br />
)<br />
} else { <br />
oprint(<br />
out, <br />
include.rownames = FALSE, <br />
digits = rep(0, ncol(out) + 1), <br />
caption("Sulautus uuteen versioon"), <br />
caption.placement = "top",<br />
show.all = TRUE<br />
)<br />
}<br />
</rcode><br />
<br />
== Versiot ==<br />
'''Alla olevassa taulukossa on listattuna hankkeeseen kuuluvat sivut versiokohtaisesti. Tätä taulukkoa käytetään lähes kaikissa tämän sivun hakukoneissa määrittämään nykyinen versio (jokaista sivua kohden on lisättävä uusi rivi aina kun uusi versio luodaan, sikäli kun sivu on vielä mukana hankkeessa) sekä haettaessa kommentteja sivukohtaisista tietokannoista. Periaatteessa taulukkoa myös käytettäisiin määrittelemään sivujen versiokohtaiset revisiot (päivitysajankohtaiset sivut) wiki-jakeiden konelukemista varten, mutta koska tässä hankkeessa suurin osa työstä tehtiin ennen viimeistä versiota niin tätä toiminnallisuutta ei voida käyttää koska JaeID:t menisivät sekaisin.'''<br />
<t2b name="Versiot" index="Versio,Sivu,Ident" unit="OldID"><br />
1|Liikenne ja viestintä palveluna|Op_fi4248|<br />
1|Liikenteen palvelumarkkinat|Op_fi4253|<br />
1|Liikenteen energiareformi|Op_fi4254|<br />
1|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
1|Monipuoliset sisällöt|Op_fi4256|<br />
1|Oma Painotus Teema I|Op_fi4257|<br />
1|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
1|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
1|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
1|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
1|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
1|Oma Painotus Teema II|Op_fi4262|<br />
1|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
1|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
1|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
1|Arktinen strategia|Op_fi4265|<br />
1|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
1|Oma Painotus Teema III|Op_fi4267|<br />
1|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
2|Liikenne ja viestintä palveluna|Op_fi4248|<br />
2|Liikenteen palvelumarkkinat|Op_fi4253|<br />
2|Liikenteen energiareformi|Op_fi4254|<br />
2|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
2|Monipuoliset sisällöt|Op_fi4256|<br />
2|Oma Painotus Teema I|Op_fi4257|<br />
2|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
2|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
2|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
2|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
2|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
2|Oma Painotus Teema II|Op_fi4262|<br />
2|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
2|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
2|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
2|Arktinen strategia|Op_fi4265|<br />
2|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
2|Oma Painotus Teema III|Op_fi4267|<br />
2|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
</t2b></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Malline:Kommentointity%C3%B6kalu&diff=26213
Malline:Kommentointityökalu
2014-09-01T09:15:11Z
<p>Teemu R: </p>
<hr />
<div>[[Luokka:Sisältää kommentointityökalun]]<br />
;<span id="Kommentit">Tämänhetkiset kommentit, joita ei ole vielä sisällytetty sivulle tai keskustelusivulle.</span><br />
<noinclude>Jos haluat löytää tällä sivulla aiemmin olleen kommentin, mene sivulle [[Kommenttihaku]] ja anna kommentin tunnistelinkki.</noinclude><br />
<br />
<rcode label="Näytä kommentit" embed=1 showcode=-1 variables="<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(OpasnetUtilsExt)<br />
<br />
pagename <- gsub(" ", "_", pagename)<br />
dat <- tryCatch(<br />
opbase.data(ident, subset = "Kommentit"), <br />
error = function(...) return(NULL)<br />
)<br />
<br />
if (is.null(dat)) oprint("Kommentteja ei löytynyt") else {<br />
poistot <- tryCatch(<br />
opbase.data(ident, subset = "Kommentinpoistot"), <br />
error = function(...) return(NULL)<br />
)<br />
<br />
if (!is.null(poistot)) dat <- dat[!dat$JaeID %in% poistot$Result, ]<br />
<br />
if(nrow(dat) == 0) {<br />
oprint("Kaikki kommentit on sisällytetty tekstiin.")<br />
} else {<br />
oprint(dat, include.rownames = FALSE)<br />
<br />
# cat("Kommenttien tunnistelinkit (tarvitaan tägäyksessä):\n")<br />
#<br />
# for(i in 1:nrow(dat)) {<br />
# olink(<br />
# paste(pagename, "?Komm=", dat$Obs[i], "#Kommentit", sep = ""), <br />
# wiki = "op_fi", <br />
# text = paste(dat$Obs[i], substr(dat$Kommentti[i], 1, 30))<br />
# )<br />
# if(i == nrow(dat)) cat("\n") else cat(" &middot; ")<br />
# }<br />
}<br />
}<br />
</rcode><br />
<br />
'''Voit kommentoida sisältöä''' myös kirjautumatta Opasnetiin yksinkertaisesti kirjoittamalla kommenttisi alla olevaan kenttään. Sivun moderaattori siirtää kommenttisi asiasisällön osaksi sivun tekstiä ja siirtää kommentin sitten arkistoon: {{tuloslinkki}}.<br />
<br />
<rcode embed=1 label="Lisää kommentti" showcode=-1 variables="<br />
name:kommentti|description:Kommenttisi tämän sivun sisältöön tai keskusteluun|type:textbox|<br />
name:liittymä|description:Mihin sivun kohtaan kommenttisi liittyy?|type:{{{2|text}}}|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
# Vähän vaarallista että mikä tahansa virhe jothaa siihen että <br />
# data tulkitaan olemassa olemattomaksi, R tietokantafunktiot ovat <br />
# jäljessä kehitystä: .series ja .locations eivät toimi subseteille.<br />
obs <- tryCatch(<br />
opbase.data(ident, subset = "Kommentit"), <br />
error = function(...) return(NULL)<br />
)<br />
<br />
if (!is.null(obs)) {<br />
if ("Obs" %in% colnames(obs)) {<br />
at <- "replace"<br />
obs <- 1<br />
} else {<br />
at <- "append"<br />
obs <- obs$JaeID<br />
obs <- gsub("[A-Za-z]", "", as.character(obs))<br />
obs <- max(as.numeric(obs)) + 1<br />
}<br />
} else {<br />
at <- "replace"<br />
obs <- 1<br />
}<br />
dat <- data.frame(<br />
Versio = 1, <br />
JaeID = paste("K", obs, sep = ""), <br />
Aika = date(), <br />
Liittymä = liittymä, <br />
Result = kommentti<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Kommentit", <br />
act_type = at, <br />
language = "fin", <br />
who = wiki_username<br />
)<br />
<br />
if (at == "replace") {<br />
dat <- data.frame(<br />
Versio = 1,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = "Alustus", <br />
Result = "NA"<br />
)<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Kommentinpoistot", <br />
act_type = at, <br />
language = "fin", <br />
who = wiki_username<br />
)<br />
}<br />
oprint("Kommenttisi on onnistuneesti tallennettu.")<br />
</rcode><br />
<br />
'''Poistettavat kommentit''' (varsinaiseen tekstiin siirretyt)<br />
<br />
<rcode embed=1 label="Poista kommentti" showcode=-1 variables="<br />
name:jaeid|description:Poistettavan kommentin ID|type:text|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
;- Valitse syy -;<br />
'Kommentti on sisällytetty keskusteluun tai sivulle';Kommentti on sisällytetty keskusteluun tai sivulle;<br />
'Kommentti ei liity sivun aiheeseen';Kommmentti ei liity sivun aiheeseen;<br />
'Kommentti on häiriköintiä';Kommentti on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
dat <- data.frame(<br />
Versio = 1,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = jaeid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Kommentinpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
oprint("Kommentti onnistuneesti poistettu.\n")<br />
<br />
pois <- opbase.data(ident, subset = "Kommentit")<br />
<br />
oprint(pois[pois$JaeID == jaeid , ], include.rownames = FALSE)<br />
<br />
</rcode><br />
<noinclude><br />
; Katso mallineen käyttöohjeet sivulta [[Kommentointityökalu]]<br />
[[op_en:Template:Commenting tool]]<br />
</noinclude></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Liikenne_ja_viestint%C3%A4_digitaalisessa_Suomessa_2020/Sis%C3%A4ll%C3%B6nanalyysi&diff=26004
Liikenne ja viestintä digitaalisessa Suomessa 2020/Sisällönanalyysi
2014-08-27T12:10:51Z
<p>Teemu R: /* Käyttöohje */</p>
<hr />
<div>{{LVM}}<br />
<br />
'''Tällä sivulla voit tarkastella liikenneministeriön tulevaisuuskatsauksen sisältöä ja kansalaisten antamien kommenttien suhdetta siihen. <br />
Alla olevilla työkaluilla voit hakea tekstin jakeita eli erillisiä tekstikappaleita ja niihin liittyviä avainsanoja tai muita jakeita. Relaatiot tarkoittavat kuvailua siitä, millä tavalla kaksi jaetta liittyy toisiinsa.'''<br />
<br />
= Tägikone =<br />
{{tuloslinkki}}<br />
== Käyttöohje ==<br />
Tägikoneen idea on pitää yllä jaetietokantaa ja määritellään jakeille avainsanoja ja relaatoita joiden tarkoitus on rikastaa sivustolla käydystä keskustelusta analyysikelpoista yleisemmän tason tietoa. <br /><br />
<br />
'''[[#Jakeet]] määritellään koodilla joka lukee wikisivuilta tekstiä kappaleittain (myös taulukot ja bullet pointit). Jakeisiin lisätään myös kommentointityökalulla tehdyt kommentit, joita ei vielä ole siirretty wikitekstiin, sekä tämän sivun [[#Jakeenlisäyskone|koodilla lisätyt jakeet]]. Kullakin jakeella on oma tunniste (JaeID) joka on sivukohtainen. Etsimällä [[#Jaehakukone|jaehakukoneesta]] oman kommenttisi ja kopioimalla JaeID:n muihin sivun hakukoneisiin voit tarkastella kommenttiisi liitettyjä tägitietoja.'''<br /><br />
<br />
'''[[#Avainsanat]] ovat jaekohtaisia ja ne lisätään yleensä käsityönä. [[#Avainsanoitus|Avainsanoituksen]] tekee joko kommentoija itse tai moderaattori.'''<br /><br />
<br />
'''[[#Relaatiot]] voidaan määritellä kahden jakeen välille (myös käsityötä). [[#Relaation lisääminen|Relaatiot lisää]] joko kommentoija itse tai moderaattori.'''<br /><br />
<br />
'''[[#Versiot]] - wikisivuja päivitetään mahdollisesti jatkuvasti, minkä johdosta versiointi on tarpeellista. Hakukoneissa esiintyvä Versio-kentän arvo 'nykyinen' hakee koko hankkeen uusimman version. Koska jakeet ovat versiokohtaisia niin avainsanat ja relaatiot ovat myös versiokohtaisia. Avainsanojen ja relaatioiden automaattista periytymistä on kehitetty, mutta [[#Sulautus (automaattinen sisällytys)|koodi]] on vielä kesken .'''<br />
<br />
== Yhdistelmähakukoneet ==<br />
=== Jaekohtainen avainsanalistaus ===<br />
'''Hakee jakeita ja näyttää kaikki niihin liittyvät avainsanat'''<br />
<rcode label="Hae" name="avainsanat_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) == 0) {<br />
stop("Jakeita ei löytynyt!")<br />
}<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
} else {<br />
# Yhdistetään kunkin jakeen avainsanat yhdelle riville<br />
tags <- ddply(<br />
tags, <br />
c("Versio", "Sivu", "JaeID"), <br />
function(x) {a <- x[1,];a$Avainsanat <- paste(x$Result, collapse = ", ");return(a)}<br />
)<br />
<br />
out <- join(<br />
out[c("Versio", "Sivu", "JaeID", "Result")],<br />
tags[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
by = c("Versio", "Sivu", "JaeID"),<br />
type = "inner",<br />
match = "first"<br />
)<br />
<br />
# Jos annettiin vain yksi versio ja/tai sivu niin niitä ei tarvitse printata<br />
filter_ind <- NULL<br />
if (length(version) != 1) filter_ind <- c(filter_ind, "Versio")<br />
if (length(sivu) != 1) filter_ind <- c(filter_ind, "Sivu")<br />
filter_ind <- c(filter_ind, "JaeID")<br />
<br />
oprint(<br />
out[c(filter_ind, "Result", "Avainsanat")], <br />
include.rownames = FALSE, <br />
show_all = TRUE<br />
)<br />
}<br />
</rcode><br />
<br />
=== Jae-relaatio-jae listaus ===<br />
'''Hakee jakeita ja niihin liittyviä toisia jakeita listaten myös relaation tyypin'''<br />
<rcode label="Hae" name="relaatiot_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta relaatioita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:liitsis|description:Liittymistyyppi (tyhjä = kaikki)|type:checkbox|options:<br />
'tukee tai on linjassa';Tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';Vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';On neutraali suhteessa;<br />
'on uusi linjaus tai painotus';On uusi linjaus tai painotus;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';Ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';Ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin';Ehdotus ei ole antanut aihetta muutoksiin;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';Ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:details|description:Näytetäänkö tekniset yksityiskohdat?|type:selection|options:FALSE;Ei, vain jakeiden sisältö;TRUE;Kyllä, myös jakeiden numerot|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
# Eri sisältymistyypit pitää määritellä niin että ne voidaan käsitellä erillään muista relaatioista<br />
sis_opt <- c(<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu',<br />
'ehdotus huomioitu ja uusi kohta lisätty',<br />
'ehdotus ei ole antanut aihetta muutoksiin', <br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun'<br />
)<br />
#liit_opt <- c(<br />
# 'tukee tai on linjassa',<br />
# 'vastustaa tai on ristiriidassa',<br />
# 'on neutraali suhteessa',<br />
# 'on uusi linjaus tai painotus'<br />
#)<br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (!is.null(liitsis)) rel <- rel[rel$Result %in% liitsis, ]<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = unique(c(<br />
as.character(rel$Sivu1), <br />
as.character(rel$Sivu2)<br />
)), <br />
versio = version, <br />
jae = unique(c(<br />
as.character(rel$JaeID1), <br />
as.character(rel$JaeID2)<br />
))<br />
)<br />
if (nrow(jakeet) == 0) stop("Relaatioissa listattuja jakeita ei löytynyt!")<br />
<br />
# Relaatiot<br />
if (nrow(rel[!(rel$Relaatio %in% sis_opt),]) > 0) {<br />
jakeet <- jakeet[c("Versio", "Sivu", "JaeID", "Result")]<br />
colnames(jakeet)[colnames(jakeet) == "JaeID"] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu"] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Jae1"<br />
rel <- rel[c("RelaatioID", "Versio", "Sivu1", "JaeID1", "Result", "Sivu2", "JaeID2")]<br />
colnames(rel)[colnames(rel) == "Result"] <- "Relaatio"<br />
out <- join(<br />
rel[(!(rel$Relaatio %in% sis_opt)) & rel$Versio %in% original_version,], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
out <- join(out, jakeet, match = "first")<br />
<br />
if(details) {<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
<br />
temp <- out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")]<br />
temp <- data.frame(<br />
Jae1 = paste(temp$Jae1, " (", temp$Sivu1, ")", sep = ""),<br />
Relaatio = temp$Relaatio,<br />
Jae2 = paste(temp$Jae2, " (", temp$Sivu2, ")", sep = "")<br />
)<br />
oprint(temp, <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
}<br />
} else {<br />
cat("Ei relaatioita!\n")<br />
}<br />
<br />
# Sisällytykset<br />
if (nrow(rel[(rel$Relaatio %in% sis_opt),]) > 0) {<br />
colnames(jakeet)[colnames(jakeet) %in% c("JaeID","JaeID2")] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Sivu", "Sivu2")] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Result", "Jae2")] <- "Jae1"<br />
colnames(rel)[colnames(rel) == "Relaatio"] <- "Sisällytys"<br />
out <- join(<br />
rel[rel$Sisällytys %in% sis_opt & rel$Versio %in% version[-length(version)],], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
jakeet$Versio <- as.numeric(as.character(jakeet$Versio)) - 1<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Sisällytys", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Sisällytys (uudempaan versioon)", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei sisällytyksiä!\n")<br />
}<br />
}<br />
</rcode><br />
<br />
=== Avainsana- ja relaatiotietojen analyysi ===<br />
<br />
'''Hae jakeita annetuilla kriteereillä ja vertaile avainsanojen ja relaatioiden lukumääriä. Halutessasi voit myös listata jaeosumat. Vapaakenttiin voi syöttää useita arvoja erottelemalla ne pilkuilla.'''<br />
<br />
Käytetyt avainsanat:<br />
{{piilotettu|<br />
3D-tulostus Aikataulut Ajoneuvokanta Alueellisuus <br />
alustus Ammattiryhmät Arvo Asutus <br />
Aurinko Automatisaatio Avoimuus Big Data <br />
Biopolttoaine Dataliikenne Digitalisoituminen Eettisyys <br />
eIDAS Elintaso Energia Epäselvä luokka <br />
Eriarvoisuus Erityisryhmät Esineiden internet Globaalius <br />
Globaaluis Henkilökortti Henkilötiedot Huutokauppa <br />
Hybridi Hybridi-TV Hyvinvointi Hyvinvointiyhteiskunta <br />
Häiriöt Ilmasto Infrastruktuuri Innovatiivisus <br />
Innovatiivisuus Internet Investoinnit Joukkoliikenne <br />
Joustavuus Julkinen valta Kaivosteollisuus Kansainvälisyys <br />
Kasvihuonekaasut Kaupallisuus Kaupungit Kehitys <br />
Kestävyys Kevyen liikenteen väylät Kevytliikenne Kiinteistöt <br />
Kilpailu Kilpailukyky Konesalit Konkreettisuus <br />
Kotimaisuus Koulutus Kunnat Kustannustehokkuus <br />
Kuuluvuus Kävely Laajakaista Lainsäädäntö <br />
Laiton tarjonta Langattomuus Lappi Lentoliikenne <br />
Liikenne Liikenneverkostot Liikkumistili Linja-autot <br />
Logistiikka Luonnonsuojelu Lämmitys Maakaasu <br />
Maatalous Mainonta Markkinat Massavalvonta <br />
Meriliikenne Metadata Mobiiliverkko Mopot <br />
Nopeus Ohjaus Ohjelmistot Ohjelmistotoimittaja <br />
Oikeusturva Omavaraisuus Operaattori Osaaminen <br />
Ostovoima Palaute Palvelut Palvelutaso <br />
Peruskunto Pilvipalvelut Polttoaine Posti <br />
Puelueettomuus Pysäköinti Pyöräily Päivitys <br />
Pääkaupunkiseutu Päästöt Päätöksenteko Päätös <br />
Raha Rahoitus Rahtliikenne Rajapinnat <br />
Rakennemuutos Rakentaminen Raskas liikenne Rautatiet <br />
Riippuvuus Rikokset Robotisaatio Ruuhkamaksu <br />
Ruuhkautuminen Saatavuus Sateliittipaikannus Sovellukset <br />
Strategia Suunnittelu Sähkö Sähköauto <br />
Sääntely Säästöt Talous Talouskasvu <br />
Tarpeet Tasa-arvo Tasapuolisuus Tasavertaisuus <br />
Tavaraliikenne Tehokkuus Tekijänoikeus Tekniikkaneutraalius <br />
Tekninen tuki Teknologia Teknologianeutraalius Teollisuus <br />
Terveydenhuolto Terveys testi Tiedon avoimuus <br />
Tiedon hallinnointi Tiedon hallinta Tiedon hyödyntäminen Tieliikenne <br />
Tietoliikenne Tietoturva Toimilupa Toiminta <br />
Toimintavarmuus Toimivuus Tuki Turvallisuus <br />
Turvaverkko Tutkimus Tuuli TV <br />
Työllisyys Työn tekemiseen liittyvä Ulkomaat Uudistus <br />
Vaihtoehtoiset polttoaineet Vaikuttaminen Vaikutus Vakuutus <br />
Valinnanvapaus Valtio Varmenne Varmuus <br />
Vastuu Verkostoituminen Verotus Vesiliikenne <br />
Vesiliikenne, Tasavertaisuus Viestintäverkot Viranomaiset Yhteensopivuus <br />
Yhteiskunta Yhteiskuntamurros Yhteistyö Yhteysnopeus <br />
Yksityisautoilu Yksityisyydensuoja YLE Yleispalvelu <br />
Yleisradio Ympäristö Yritykset Öljy <br />
}}<br />
<br />
<rcode label="Näytä tilastoja/jakeita" name="jae_stats" embed=1 graphics=1 variables="<br />
name:sivu|description:Minkä sivun jakeita haluat tarkastella?|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:avainsanat|description:Hae jakeita joilla on ainakin yksi seuraavista avainsanoista|type:text|<br />
name:avainsanat_all|description:Hae jakeita joilla on kaikki seuraavat avainsanat|type:text|<br />
name:jaelista|description:Haluatko nähdä kaikki löydetyt jakeet?|type:selection|options:FALSE;En;TRUE;Kyllä|default:FALSE|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
library(ggplot2)<br />
<br />
filter <- list()<br />
if (nchar(gsub(" ", "", avainsanat)) > 0) {<br />
avainsanat <- strsplit(avainsanat, ",")[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat) <br />
} else {<br />
avainsanat <- NULL<br />
}<br />
if (nchar(gsub(" ", "", avainsanat_all)) > 0) {<br />
avainsanat_all <- strsplit(avainsanat_all, ",")[[1]]<br />
avainsanat_all <- gsub("^\\s*|\\s*$", "", avainsanat_all)<br />
#filter$Avainsana <- avainsanat_all<br />
} else {<br />
avainsanat_all <- NULL<br />
}<br />
filter$Sivu <- sivu<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
filter$Versio <- version<br />
<br />
if (length(filter) == 0) filter <- NULL<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
jaeid <- NULL<br />
<br />
if (!is.null(avainsanat)|!is.null(avainsanat_all)) {<br />
tags <- tags[tags$Result %in% c(avainsanat, avainsanat_all), ]<br />
jaeid <- unique(as.character(tags$JaeID))<br />
}<br />
<br />
if(!is.null(avainsanat_all)) {<br />
temp <- list()<br />
for (i in 1:nrow(jaeid)) {<br />
temp[[i]] <- avainsanat_all %in% tags$Result[tags$JaeID == jaeid[i]]<br />
}<br />
temp <- lapply(temp, all)<br />
jaeid <- jaeid[temp]<br />
tags <- tags[tags$JaeID %in% jaeid,]<br />
}<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt.\n")<br />
}<br />
<br />
if (is.null(filter)) {<br />
filter2 <- list()<br />
} else {<br />
filter2 <- filter<br />
}<br />
<br />
filter2$JaeID <- jaeid<br />
<br />
if (length(filter2) == 0) filter2 <- NULL<br />
<br />
if (jaelista) {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = filter2$Sivu, # *list$non-existent returns NULL<br />
versio = filter2$Versio, <br />
jae = filter2$JaeID<br />
)<br />
if (nrow(jakeet) == 0) {<br />
cat("Avainsanoissa listattuja jakeita ei löytynyt.\n")<br />
} else {<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Sisältö"<br />
tagged <- NULL<br />
if (nrow(tags) > 0) {<br />
#tagged <- join(<br />
# jakeet[c("Versio", "Sivu", "Aihe", "JaeID")], <br />
# tags[c("Versio", "Sivu", "JaeID", "Result")]<br />
#)<br />
#colnames(tagged)[colnames(tagged) == "Result"] <- "Avainsana"<br />
tagged <- tapply(tags$Result, tags[c("Versio", "Sivu", "JaeID")], paste, collapse = ", ")<br />
tagged <- as.data.frame(as.table(tagged))<br />
colnames(tagged)[colnames(tagged) == "Freq"] <- "Avainsanat"<br />
tagged <- join(<br />
jakeet[c("Versio", "Sivu", "JaeID", "Sisältö")], <br />
tagged[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
type = "inner",<br />
match = "first"<br />
)<br />
oprint(<br />
tagged[c("Versio", "Sivu", "JaeID", "Sisältö", "Avainsanat")],<br />
caption = "Jakeet", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = rep(0, 6)<br />
)<br />
}<br />
}<br />
}<br />
<br />
if (nrow(tags) > 0) {<br />
tags_out <- ddply(tags, "Result", nrow)<br />
colnames(tags_out) <- c("Avainsana", "Lukumäärä")<br />
tags_out <- tags_out[order(tags_out$Lukumäärä, decreasing = TRUE),]<br />
oprint(<br />
tags_out,<br />
caption = "Avainsanojen lukumäärät", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = c(0, 0, 0)<br />
)<br />
ggplot(tags_out, aes(x = Avainsana, y = Lukumäärä, fill = Avainsana)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Avainsanojen frekvenssit")<br />
}<br />
<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter3 <- list()<br />
filter3$Sivu1 <- sivu<br />
filter3$Versio <- version<br />
filter3$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter3$JaeID1 <- NULL<br />
filter3$Sivu1 <- NULL<br />
filter3$JaeID2 <- jaeid<br />
filter3$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
related <- rel[<br />
rel$Result %in% c(<br />
"on neutraali suhteessa", <br />
"on uusi linjaus tai painotus", <br />
"tukee tai on linjassa", <br />
"vastustaa tai on ristiriidassa"<br />
), ]<br />
related$Result <- as.character(related$Result)<br />
affected <- rel[<br />
rel$Result %in% c(<br />
"ehdotus ei ole antanut aihetta muutoksiin",<br />
"ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun", <br />
"ehdotus huomioitu ja liittyvää painotusta muutettu",<br />
"ehdotus huomioitu ja uusi kohta lisätty"<br />
), ]<br />
affected$Result <- as.character(affected$Result)<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin"] <- "Ei aihetta muutoksiin"<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun"] <- "Sisältyy valmiiksi"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja liittyvää painotusta muutettu"] <- "Huomioitu painotuksella"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja uusi kohta lisätty"] <- "Huomioitu lisäyksellä"<br />
<br />
related_out <- ddply(related, "Result", nrow)<br />
colnames(related_out) <- c("Relaatio", "Lukumäärä")<br />
<br />
affected_out <- ddply(affected, "Result", nrow)<br />
colnames(affected_out) <- c("Sisällytys", "Lukumäärä")<br />
}<br />
<br />
if (nrow(related_out > 0)) {<br />
ggplot(related_out, aes(x = Relaatio, y = Lukumäärä, fill = Relaatio)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Relaatioiden frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
<br />
if (nrow(affected_out > 0)) {<br />
ggplot(affected_out, aes(x = Sisällytys, y = Lukumäärä, fill = Sisällytys)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Sisällytyksen frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
</rcode><br />
<br />
== Työkalut ==<br />
'''Aineiston työstämiseen tarkoitettuja koodeja.'''<br />
=== Jakeet ===<br />
==== Jaehakukone ====<br />
'''Hakee jakeita annetuilla kriteereillä. Näyttää myös tekniset sarakkeet. Vapaakenttiin voi laittaa useita arvoja erottelemalla ne pilkuilla.'''<br />
<rcode label="Näytä jakeet" name="jakeet" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Jakeita ei löytynyt!\n")<br />
}<br />
</rcode><br />
<br />
==== Jakeenlisäyskone ====<br />
'''Lisää tietokantaan vapaasti määriteltävän jakeen. Lisätyt jakeet näkyvät tämän sivun hakukoneissa. Niiden JaeID:llä on "L"-etuliite.'''<br />
<rcode label="Lisää jae" name="jakeenlisays" embed=1 variables="<br />
name:sivu|description:Sivu jolle jae lisätään|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:sisalto|description:Jakeen sisältö|type:textbox|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame( <br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
JaeID = NA,<br />
Result = sisalto<br />
)<br />
<br />
ident.subset <- paste(ident, "Jakeenlisaykset", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
filter$Sivu <- sivu<br />
<br />
upload_with_autoid(<br />
out,<br />
ident.subset,<br />
id_name = "JaeID",<br />
pagename = pagename,<br />
prefix = "L",<br />
filter = filter<br />
)<br />
</rcode><br />
<br />
==== Jakeenpoistokone ====<br />
'''Merkitsee jakeen epäkelvoksi, jolloin se jätetään näyttämättä kaikissa tämän sivun hakukoneissa.'''<br />
<rcode label="Poista jae" name="jakeenpoisto" embed=1 variables="<br />
name:sivu|description:Poistettavan jakeen sivu|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Poistettavan jakeen ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Tekninen jae';Tekninen jae;<br />
'Jae ei liity sivun aiheeseen';Jae ei liity sivun aiheeseen;<br />
'Jae on häiriköintiä';Jae on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jaeid <- strsplit(jaeid, ",", fixed = TRUE)[[1]]<br />
jaeid <- gsub(" ", "", jaeid)<br />
<br />
if (sum(nchar(jaeid)) == 0) stop("Anna jakeen ID")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame(<br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = as.character(jaeid)<br />
)<br />
<br />
opbase.upload(<br />
out, <br />
who = wiki_username, <br />
name = pagename,<br />
subset = "Jakeenpoistot",<br />
act_type = "append", <br />
language = "fin"<br />
)<br />
</rcode><br />
<br />
=== Avainsanat ===<br />
==== Avainsanahakukone ====<br />
'''Hakee jaekohtaisia avainsanoja. Näyttää datan sellaisena kuin se on tietokannassa.'''<br />
<rcode label="Näytä avainsanat" name="avainsanat_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka avainsanoja haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
out <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
==== Avainsanoitus ====<br />
'''Lisää tietokantaan annetut avainsanat. Avainanoja voidaan lisätä ruksaamalla annetusta listasta (vain yleisimmät) ja syöttämällä vapaakenttään pilkulla eroteltuna.'''<br />
<rcode label="Lisää avainsana" name="avainsananlisays" embed=1 variables="<br />
name:sivu|description:Minkä sivun jakeelle haluat lisätä avainsanoja?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Mikä on jakeen versio?|type:text|default:nykyinen|<br />
name:jae|description:Mikä on jakeen ID?|type:text|<br />
name:yl_avainsanat|description:Valitse alla olevasta listasta yleisiä avainsanoja.|type:checkbox|options:<br />
'Päätös';A Päätös (jae sisältää päätös- tai toimintaehdotuksen);<br />
'Vaikutus';B Vaikutus (jae kuvaa ilmiötä tai vaikutusta);<br />
'Arvo';C Arvo (jakeessa on arvoarvostelma tai kuvaa asian merkitystä);<br />
'Työn tekemiseen liittyvä';D Katsaustyön tekemiseen liittyvä;<br />
'Epäselvä luokka';E Ei mikään edellisistä (valitse ainakin yksi A-E)|<br />
name:avainsanat|description:Laita halutessasi yllä listaamattomattomia avainsanoja tähän pilkulla eroteltuna.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
avainsanat <- strsplit(avainsanat, ",", fixed = TRUE)[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat)<br />
avainsanat <- avainsanat[nchar(avainsanat) > 0]<br />
avainsanat <- c(yl_avainsanat, avainsanat)<br />
if (length(avainsanat) == 0) stop("Yhtään avainsanaa ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
AvainsanaID = NA, <br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Sivu = sivu,<br />
JaeID = as.character(jae), <br />
Result = avainsanat<br />
)<br />
<br />
ident.subset <- paste(ident, "Avainsanat", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "AvainsanaID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Avainsanojen lisääminen onnistui.\n")<br />
</rcode><br />
<br />
==== Avainsanan poisto ====<br />
'''Merkitsee avainsanan epäkelvoksi, jolloin tämän sivun hakukoneet eivät näytä sitä.'''<br />
<rcode name="avainsananpoisto" embed=1 label="Poista avainsana" showcode=0 variables="<br />
name:avid|description:Poistettavan avainsanan ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Avainsana ei päde uudessa versiossa';Avainsana ei päde uudessa versiossa;<br />
'Virheellinen avainsana';Virheellinen avainsana|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
avid <- strsplit(avid, ",", fixed = TRUE)[[1]]<br />
avid <- gsub(" ", "", avid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = avid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Avainsana poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
<br />
<br />
=== Relaatiot ===<br />
==== Relaatiohakukone ====<br />
'''Hakee relaatioita joissa mahdollisesti annetut jakeet esiintyvät. Näyttää datan sellaisena kuin se on tietokannassa.'''<br />
<rcode label="Näytä relaatiot" name="relaatiot_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka relaatioita haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
out <- rbind(rel1, rel2)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(<br />
out, <br />
include.rownames = FALSE,<br />
caption = "Relaatiot", <br />
caption.placement = "top"<br />
)<br />
} else {<br />
cat("Relaatioita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
==== Relaation lisääminen ====<br />
'''Lisää uuden relaation tietokantaan. Samantyyppisiä relaatioita voi kerralla lisätä useita, kun erottelee JaeID:t pilkuilla: relaatiot voi tehdä kaikki yhteen, yksi kaikkiin tai yksi yhteen. '''<br />
<rcode label="Lisää relaatio" name="relaatio" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:nykyinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID?|type:text|<br />
name:relaatio|description:'''Kuinka lähtöjae liittyy kohdejakeeseen?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'tukee tai on linjassa';tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';on neutraali suhteessa;<br />
'on uusi linjaus tai painotus';on uusi linjaus tai painotus;<br />
'kuuluu ryhmään/kokoelmaan';kuuluu ryhmään/kokoelmaan|<br />
name:lisarelaatio|description:VAPAAEHTOINEN Voit antaa oman jakeiden välisen relaation vapaakenttään.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
relaatio <- ifelse(lisarelaatio == '', relaatio, lisarelaatio)<br />
if (nchar(gsub(" ", "", relaatio)) == 0) stop("Relaatiota ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = relaatio<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Relaation lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
==== Sisällytyksen lisääminen ====<br />
'''Lisää uuden sisällytyksen tietokantaan. Sisällytys tapahtuu aina seuraavaan versioon. Samantyyppisiä sisällytyksiä voi kerralla lisätä useita, kun erottelee JaeID:t pilkuilla: sisällytykset voi tehdä kaikki yhteen, yksi kaikkiin tai yksi yhteen. '''<br />
<rcode label="Lisää sisällytys" name="sisallytys" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:edellinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID (uudemmassa versiossa)?|type:text|<br />
name:sisallytys|description:'''Sisällytettiinkö ehdotus uudempaan versioon?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun;<br />
'ehdotus ei ole antanut aihetta muutoksiin';ehdotus ei ole antanut aihetta muutoksiin|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
if (nchar(gsub(" ", "", sisallytys)) == 0) stop("Sisällytyksen tyyppiä ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "edellinen") {<br />
version <- get_current_version(ident) - 1<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = sisallytys<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Sisällytyksen lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
==== Relaation poisto ====<br />
'''Merkitsee relaation/sisällytyksen epäkelvoksi, jolloin tämän sivun hakukoneet eivät näytä sitä.'''<br />
<rcode name="relaationpoisto" embed=1 label="Poista relaatio" showcode=0 variables="<br />
name:relid|description:Poistettavan relaation ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Relaatio ei päde uudessa versiossa';Relaatio ei päde uudessa versiossa;<br />
'Virheellinen relaatio';Virheellinen relaatio|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
relid <- strsplit(relid, ",", fixed = TRUE)[[1]]<br />
relid <- gsub(" ", "", relid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = relid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Relaatio poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Sulautus (automaattinen sisällytys) ===<br />
'''Etsii edellisestä versiosta jakeita joiden sisältö löytyy uudessa versiossa jonkin jakeen sisällöstä. Koodi on keskeneräinen johtuen R:n peruskirjaston sisäisestä bugista joka estää samanaikaisen approksimaalisen että osittaisen osuman haun pitkistä teksteistä.''' <br />
{{tuloslinkki}}<br />
<br />
<rcode label="Etsi sulautuksia" name="sulautus" embed=0 variables="<br />
name:sivu|description:Sivut joihin sulautus tehdään (kaikista edellisen version jakeista)|type:checkbox|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:toleranssi|description:Toleranssi (Levenshtein distance)|default:5|<br />
name:tallenna|description:Tallenna kantaan|type:selection|options:TRUE;Kyllä;FALSE;Ei|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
mdat <- get_meta_data(ident)<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
version <- c(version - 1, version)<br />
<br />
jakeet <- jaehakukone(ident, versio = version)<br />
<br />
ver1 <- jakeet[jakeet$Versio == version[1],]<br />
ver2 <- jakeet[jakeet$Versio == version[2] & jakeet$Sivu == sivu,]<br />
<br />
# adist too slow<br />
d <- adist(<br />
ver1$Result, <br />
ver2$Result,<br />
fixed = FALSE<br />
)<br />
d[is.na(d)] <- Inf<br />
#d_min <- apply(d, 1, min)<br />
#d_tol <- d <= toleranssi<br />
#d_out <- apply(d, 1, which.min)<br />
<br />
colnames(ver1)[colnames(ver1) == "Versio"] <- "Versio1"<br />
colnames(ver1)[colnames(ver1) == "Sivu"] <- "Sivu1"<br />
colnames(ver1)[colnames(ver1) == "JaeID"] <- "JaeID1"<br />
colnames(ver1)[colnames(ver1) == "Result"] <- "Result1"<br />
<br />
colnames(ver2)[colnames(ver2) == "Versio"] <- "Versio2"<br />
colnames(ver2)[colnames(ver2) == "Sivu"] <- "Sivu2"<br />
colnames(ver2)[colnames(ver2) == "JaeID"] <- "JaeID2"<br />
colnames(ver2)[colnames(ver2) == "Result"] <- "Result2"<br />
<br />
#out <- cbind(ver1[d_min <= toleranssi, ], ver2[d_out[d_min <= toleranssi], ])<br />
<br />
d <- alply(d, 1, I)<br />
d_tol <- llply(d, function(x) {x <= toleranssi})<br />
d_reps <- laply(d_tol, sum)<br />
d_w <- llply(d_tol, which)<br />
d_w <- unlist(d_w)<br />
<br />
out <- cbind(ver1[rep(1:nrow(ver1), d_reps),], ver2[d_w, ])<br />
<br />
#d <- NULL<br />
#n <- NULL<br />
#for (i in 1:nrow(ver1)) {<br />
# for (j in split(ver2$Result, ceiling((1:nrow(ver2)) / 100))) {<br />
# temp <- agrep(ver1$Result[i], j, toleranssi)<br />
# d <- append(d, temp)<br />
# n <- append(n, length(temp))<br />
# }<br />
#}<br />
<br />
#out <- cbind(<br />
# ver1[rep(1:nrow(ver1), n),],<br />
# ver2[d,]<br />
#)<br />
if (tallenna) {<br />
opbase.upload(<br />
out,<br />
name = pagename,<br />
who = wiki_username,<br />
subset = "Sulautukset"<br />
)<br />
} else { <br />
oprint(<br />
out, <br />
include.rownames = FALSE, <br />
digits = rep(0, ncol(out) + 1), <br />
caption("Sulautus uuteen versioon"), <br />
caption.placement = "top",<br />
show.all = TRUE<br />
)<br />
}<br />
</rcode><br />
<br />
== Versiot ==<br />
'''Alla olevassa taulukossa on listattuna hankkeeseen kuuluvat sivut versiokohtaisesti. Tätä taulukkoa käytetään lähes kaikissa tämän sivun hakukoneissa määrittämään nykyinen versio (jokaista sivua kohden on lisättävä uusi rivi aina kun uusi versio luodaan, sikäli kun sivu on vielä mukana hankkeessa) sekä haettaessa kommentteja sivukohtaisista tietokannoista. Periaatteessa taulukkoa myös käytettäisiin määrittelemään sivujen versiokohtaiset revisiot (päivitysajankohtaiset sivut) wiki-jakeiden konelukemista varten, mutta koska tässä hankkeessa suurin osa työstä tehtiin ennen viimeistä versiota niin tätä toiminnallisuutta ei voida käyttää koska JaeID:t menisivät sekaisin.'''<br />
<t2b name="Versiot" index="Versio,Sivu,Ident" unit="OldID"><br />
1|Liikenne ja viestintä palveluna|Op_fi4248|<br />
1|Liikenteen palvelumarkkinat|Op_fi4253|<br />
1|Liikenteen energiareformi|Op_fi4254|<br />
1|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
1|Monipuoliset sisällöt|Op_fi4256|<br />
1|Oma Painotus Teema I|Op_fi4257|<br />
1|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
1|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
1|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
1|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
1|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
1|Oma Painotus Teema II|Op_fi4262|<br />
1|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
1|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
1|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
1|Arktinen strategia|Op_fi4265|<br />
1|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
1|Oma Painotus Teema III|Op_fi4267|<br />
1|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
2|Liikenne ja viestintä palveluna|Op_fi4248|<br />
2|Liikenteen palvelumarkkinat|Op_fi4253|<br />
2|Liikenteen energiareformi|Op_fi4254|<br />
2|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
2|Monipuoliset sisällöt|Op_fi4256|<br />
2|Oma Painotus Teema I|Op_fi4257|<br />
2|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
2|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
2|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
2|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
2|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
2|Oma Painotus Teema II|Op_fi4262|<br />
2|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
2|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
2|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
2|Arktinen strategia|Op_fi4265|<br />
2|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
2|Oma Painotus Teema III|Op_fi4267|<br />
2|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
</t2b></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Liikenne_ja_viestint%C3%A4_digitaalisessa_Suomessa_2020/Sis%C3%A4ll%C3%B6nanalyysi&diff=26001
Liikenne ja viestintä digitaalisessa Suomessa 2020/Sisällönanalyysi
2014-08-27T12:03:00Z
<p>Teemu R: /* Käyttöohje */</p>
<hr />
<div>{{LVM}}<br />
<br />
'''Tällä sivulla voit tarkastella liikenneministeriön tulevaisuuskatsauksen sisältöä ja kansalaisten antamien kommenttien suhdetta siihen. <br />
Alla olevilla työkaluilla voit hakea tekstin jakeita eli erillisiä tekstikappaleita ja niihin liittyviä avainsanoja tai muita jakeita. Relaatiot tarkoittavat kuvailua siitä, millä tavalla kaksi jaetta liittyy toisiinsa.'''<br />
<br />
= Tägikone =<br />
{{tuloslinkki}}<br />
== Käyttöohje ==<br />
Tägikoneen idea on pitää yllä jaetietokantaa ja määritellään jakeille avainsanoja ja relaatoita joiden tarkoitus on rikastaa sivustolla käydystä keskustelusta analyysikelpoista yleisemmän tason tietoa. <br /><br />
<br />
'''[[#Jakeet]] määritellään koodilla joka lukee wikisivuilta tekstiä kappaleittain (myös taulukot ja bullet pointit). Jakeisiin lisätään myös kommentointityökalulla tehdyt kommentit, joita ei vielä ole siirretty wikitekstiin, sekä tämän sivun [[#Jakeenlisäyskone|koodilla lisätyt jakeet]]. Kullakin jakeella on oma tunniste (JaeID) joka on sivukohtainen. Etsimällä [[#Jaehakukone|jaehakukoneesta]] oman kommenttisi ja kopioimalla JaeID:n muihin sivun hakukoneisiin voit tarkastella kommenttiisi liitettyjä tägitietoja.'''<br /><br />
<br />
'''[[#Avainsanat]] ovat jaekohtaisia ja ne lisätään yleensä käsityönä. [[#Avainsanoitus|Avainsanoituksen]] tekee joko kommentoija itse tai moderaattori.'''<br /><br />
<br />
'''[[#Relaatiot]] voidaan määritellä kahden jakeen välille (myös käsityötä). [[#Relaation lisääminen|Relaatiot lisää]] joko kommentoija itse tai moderaattori.'''<br /><br />
<br />
'''[[#Versiot]] - wikisivuja päivitetään mahdollisesti jatkuvasti, minkä johdosta versiointi on tarpeellista. Hakukoneissa esiintyvä Versio-kentän arvo 'nykyinen' hakee koko hankkeen uusimman version. Koska jakeet ovat versiokohtaisia niin avainsanat ja relaatiot ovat myös versiokohtaisia. Avainsanojen ja relaatioiden automaattista periytymistä on kehitetty, mutta koodi on vielä kesken [[#Sulautus (automaattinen sisällytys)]].'''<br />
<br />
== Yhdistelmähakukoneet ==<br />
=== Jaekohtainen avainsanalistaus ===<br />
'''Hakee jakeita ja näyttää kaikki niihin liittyvät avainsanat'''<br />
<rcode label="Hae" name="avainsanat_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) == 0) {<br />
stop("Jakeita ei löytynyt!")<br />
}<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
} else {<br />
# Yhdistetään kunkin jakeen avainsanat yhdelle riville<br />
tags <- ddply(<br />
tags, <br />
c("Versio", "Sivu", "JaeID"), <br />
function(x) {a <- x[1,];a$Avainsanat <- paste(x$Result, collapse = ", ");return(a)}<br />
)<br />
<br />
out <- join(<br />
out[c("Versio", "Sivu", "JaeID", "Result")],<br />
tags[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
by = c("Versio", "Sivu", "JaeID"),<br />
type = "inner",<br />
match = "first"<br />
)<br />
<br />
# Jos annettiin vain yksi versio ja/tai sivu niin niitä ei tarvitse printata<br />
filter_ind <- NULL<br />
if (length(version) != 1) filter_ind <- c(filter_ind, "Versio")<br />
if (length(sivu) != 1) filter_ind <- c(filter_ind, "Sivu")<br />
filter_ind <- c(filter_ind, "JaeID")<br />
<br />
oprint(<br />
out[c(filter_ind, "Result", "Avainsanat")], <br />
include.rownames = FALSE, <br />
show_all = TRUE<br />
)<br />
}<br />
</rcode><br />
<br />
=== Jae-relaatio-jae listaus ===<br />
'''Hakee jakeita ja niihin liittyviä toisia jakeita listaten myös relaation tyypin'''<br />
<rcode label="Hae" name="relaatiot_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta relaatioita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:liitsis|description:Liittymistyyppi (tyhjä = kaikki)|type:checkbox|options:<br />
'tukee tai on linjassa';Tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';Vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';On neutraali suhteessa;<br />
'on uusi linjaus tai painotus';On uusi linjaus tai painotus;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';Ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';Ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin';Ehdotus ei ole antanut aihetta muutoksiin;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';Ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:details|description:Näytetäänkö tekniset yksityiskohdat?|type:selection|options:FALSE;Ei, vain jakeiden sisältö;TRUE;Kyllä, myös jakeiden numerot|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
# Eri sisältymistyypit pitää määritellä niin että ne voidaan käsitellä erillään muista relaatioista<br />
sis_opt <- c(<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu',<br />
'ehdotus huomioitu ja uusi kohta lisätty',<br />
'ehdotus ei ole antanut aihetta muutoksiin', <br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun'<br />
)<br />
#liit_opt <- c(<br />
# 'tukee tai on linjassa',<br />
# 'vastustaa tai on ristiriidassa',<br />
# 'on neutraali suhteessa',<br />
# 'on uusi linjaus tai painotus'<br />
#)<br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (!is.null(liitsis)) rel <- rel[rel$Result %in% liitsis, ]<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = unique(c(<br />
as.character(rel$Sivu1), <br />
as.character(rel$Sivu2)<br />
)), <br />
versio = version, <br />
jae = unique(c(<br />
as.character(rel$JaeID1), <br />
as.character(rel$JaeID2)<br />
))<br />
)<br />
if (nrow(jakeet) == 0) stop("Relaatioissa listattuja jakeita ei löytynyt!")<br />
<br />
# Relaatiot<br />
if (nrow(rel[!(rel$Relaatio %in% sis_opt),]) > 0) {<br />
jakeet <- jakeet[c("Versio", "Sivu", "JaeID", "Result")]<br />
colnames(jakeet)[colnames(jakeet) == "JaeID"] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu"] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Jae1"<br />
rel <- rel[c("RelaatioID", "Versio", "Sivu1", "JaeID1", "Result", "Sivu2", "JaeID2")]<br />
colnames(rel)[colnames(rel) == "Result"] <- "Relaatio"<br />
out <- join(<br />
rel[(!(rel$Relaatio %in% sis_opt)) & rel$Versio %in% original_version,], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
out <- join(out, jakeet, match = "first")<br />
<br />
if(details) {<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
<br />
temp <- out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")]<br />
temp <- data.frame(<br />
Jae1 = paste(temp$Jae1, " (", temp$Sivu1, ")", sep = ""),<br />
Relaatio = temp$Relaatio,<br />
Jae2 = paste(temp$Jae2, " (", temp$Sivu2, ")", sep = "")<br />
)<br />
oprint(temp, <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
}<br />
} else {<br />
cat("Ei relaatioita!\n")<br />
}<br />
<br />
# Sisällytykset<br />
if (nrow(rel[(rel$Relaatio %in% sis_opt),]) > 0) {<br />
colnames(jakeet)[colnames(jakeet) %in% c("JaeID","JaeID2")] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Sivu", "Sivu2")] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Result", "Jae2")] <- "Jae1"<br />
colnames(rel)[colnames(rel) == "Relaatio"] <- "Sisällytys"<br />
out <- join(<br />
rel[rel$Sisällytys %in% sis_opt & rel$Versio %in% version[-length(version)],], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
jakeet$Versio <- as.numeric(as.character(jakeet$Versio)) - 1<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Sisällytys", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Sisällytys (uudempaan versioon)", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei sisällytyksiä!\n")<br />
}<br />
}<br />
</rcode><br />
<br />
=== Avainsana- ja relaatiotietojen analyysi ===<br />
<br />
'''Hae jakeita annetuilla kriteereillä ja vertaile avainsanojen ja relaatioiden lukumääriä. Halutessasi voit myös listata jaeosumat. Vapaakenttiin voi syöttää useita arvoja erottelemalla ne pilkuilla.'''<br />
<br />
Käytetyt avainsanat:<br />
{{piilotettu|<br />
3D-tulostus Aikataulut Ajoneuvokanta Alueellisuus <br />
alustus Ammattiryhmät Arvo Asutus <br />
Aurinko Automatisaatio Avoimuus Big Data <br />
Biopolttoaine Dataliikenne Digitalisoituminen Eettisyys <br />
eIDAS Elintaso Energia Epäselvä luokka <br />
Eriarvoisuus Erityisryhmät Esineiden internet Globaalius <br />
Globaaluis Henkilökortti Henkilötiedot Huutokauppa <br />
Hybridi Hybridi-TV Hyvinvointi Hyvinvointiyhteiskunta <br />
Häiriöt Ilmasto Infrastruktuuri Innovatiivisus <br />
Innovatiivisuus Internet Investoinnit Joukkoliikenne <br />
Joustavuus Julkinen valta Kaivosteollisuus Kansainvälisyys <br />
Kasvihuonekaasut Kaupallisuus Kaupungit Kehitys <br />
Kestävyys Kevyen liikenteen väylät Kevytliikenne Kiinteistöt <br />
Kilpailu Kilpailukyky Konesalit Konkreettisuus <br />
Kotimaisuus Koulutus Kunnat Kustannustehokkuus <br />
Kuuluvuus Kävely Laajakaista Lainsäädäntö <br />
Laiton tarjonta Langattomuus Lappi Lentoliikenne <br />
Liikenne Liikenneverkostot Liikkumistili Linja-autot <br />
Logistiikka Luonnonsuojelu Lämmitys Maakaasu <br />
Maatalous Mainonta Markkinat Massavalvonta <br />
Meriliikenne Metadata Mobiiliverkko Mopot <br />
Nopeus Ohjaus Ohjelmistot Ohjelmistotoimittaja <br />
Oikeusturva Omavaraisuus Operaattori Osaaminen <br />
Ostovoima Palaute Palvelut Palvelutaso <br />
Peruskunto Pilvipalvelut Polttoaine Posti <br />
Puelueettomuus Pysäköinti Pyöräily Päivitys <br />
Pääkaupunkiseutu Päästöt Päätöksenteko Päätös <br />
Raha Rahoitus Rahtliikenne Rajapinnat <br />
Rakennemuutos Rakentaminen Raskas liikenne Rautatiet <br />
Riippuvuus Rikokset Robotisaatio Ruuhkamaksu <br />
Ruuhkautuminen Saatavuus Sateliittipaikannus Sovellukset <br />
Strategia Suunnittelu Sähkö Sähköauto <br />
Sääntely Säästöt Talous Talouskasvu <br />
Tarpeet Tasa-arvo Tasapuolisuus Tasavertaisuus <br />
Tavaraliikenne Tehokkuus Tekijänoikeus Tekniikkaneutraalius <br />
Tekninen tuki Teknologia Teknologianeutraalius Teollisuus <br />
Terveydenhuolto Terveys testi Tiedon avoimuus <br />
Tiedon hallinnointi Tiedon hallinta Tiedon hyödyntäminen Tieliikenne <br />
Tietoliikenne Tietoturva Toimilupa Toiminta <br />
Toimintavarmuus Toimivuus Tuki Turvallisuus <br />
Turvaverkko Tutkimus Tuuli TV <br />
Työllisyys Työn tekemiseen liittyvä Ulkomaat Uudistus <br />
Vaihtoehtoiset polttoaineet Vaikuttaminen Vaikutus Vakuutus <br />
Valinnanvapaus Valtio Varmenne Varmuus <br />
Vastuu Verkostoituminen Verotus Vesiliikenne <br />
Vesiliikenne, Tasavertaisuus Viestintäverkot Viranomaiset Yhteensopivuus <br />
Yhteiskunta Yhteiskuntamurros Yhteistyö Yhteysnopeus <br />
Yksityisautoilu Yksityisyydensuoja YLE Yleispalvelu <br />
Yleisradio Ympäristö Yritykset Öljy <br />
}}<br />
<br />
<rcode label="Näytä tilastoja/jakeita" name="jae_stats" embed=1 graphics=1 variables="<br />
name:sivu|description:Minkä sivun jakeita haluat tarkastella?|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:avainsanat|description:Hae jakeita joilla on ainakin yksi seuraavista avainsanoista|type:text|<br />
name:avainsanat_all|description:Hae jakeita joilla on kaikki seuraavat avainsanat|type:text|<br />
name:jaelista|description:Haluatko nähdä kaikki löydetyt jakeet?|type:selection|options:FALSE;En;TRUE;Kyllä|default:FALSE|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
library(ggplot2)<br />
<br />
filter <- list()<br />
if (nchar(gsub(" ", "", avainsanat)) > 0) {<br />
avainsanat <- strsplit(avainsanat, ",")[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat) <br />
} else {<br />
avainsanat <- NULL<br />
}<br />
if (nchar(gsub(" ", "", avainsanat_all)) > 0) {<br />
avainsanat_all <- strsplit(avainsanat_all, ",")[[1]]<br />
avainsanat_all <- gsub("^\\s*|\\s*$", "", avainsanat_all)<br />
#filter$Avainsana <- avainsanat_all<br />
} else {<br />
avainsanat_all <- NULL<br />
}<br />
filter$Sivu <- sivu<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
filter$Versio <- version<br />
<br />
if (length(filter) == 0) filter <- NULL<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
jaeid <- NULL<br />
<br />
if (!is.null(avainsanat)|!is.null(avainsanat_all)) {<br />
tags <- tags[tags$Result %in% c(avainsanat, avainsanat_all), ]<br />
jaeid <- unique(as.character(tags$JaeID))<br />
}<br />
<br />
if(!is.null(avainsanat_all)) {<br />
temp <- list()<br />
for (i in 1:nrow(jaeid)) {<br />
temp[[i]] <- avainsanat_all %in% tags$Result[tags$JaeID == jaeid[i]]<br />
}<br />
temp <- lapply(temp, all)<br />
jaeid <- jaeid[temp]<br />
tags <- tags[tags$JaeID %in% jaeid,]<br />
}<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt.\n")<br />
}<br />
<br />
if (is.null(filter)) {<br />
filter2 <- list()<br />
} else {<br />
filter2 <- filter<br />
}<br />
<br />
filter2$JaeID <- jaeid<br />
<br />
if (length(filter2) == 0) filter2 <- NULL<br />
<br />
if (jaelista) {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = filter2$Sivu, # *list$non-existent returns NULL<br />
versio = filter2$Versio, <br />
jae = filter2$JaeID<br />
)<br />
if (nrow(jakeet) == 0) {<br />
cat("Avainsanoissa listattuja jakeita ei löytynyt.\n")<br />
} else {<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Sisältö"<br />
tagged <- NULL<br />
if (nrow(tags) > 0) {<br />
#tagged <- join(<br />
# jakeet[c("Versio", "Sivu", "Aihe", "JaeID")], <br />
# tags[c("Versio", "Sivu", "JaeID", "Result")]<br />
#)<br />
#colnames(tagged)[colnames(tagged) == "Result"] <- "Avainsana"<br />
tagged <- tapply(tags$Result, tags[c("Versio", "Sivu", "JaeID")], paste, collapse = ", ")<br />
tagged <- as.data.frame(as.table(tagged))<br />
colnames(tagged)[colnames(tagged) == "Freq"] <- "Avainsanat"<br />
tagged <- join(<br />
jakeet[c("Versio", "Sivu", "JaeID", "Sisältö")], <br />
tagged[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
type = "inner",<br />
match = "first"<br />
)<br />
oprint(<br />
tagged[c("Versio", "Sivu", "JaeID", "Sisältö", "Avainsanat")],<br />
caption = "Jakeet", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = rep(0, 6)<br />
)<br />
}<br />
}<br />
}<br />
<br />
if (nrow(tags) > 0) {<br />
tags_out <- ddply(tags, "Result", nrow)<br />
colnames(tags_out) <- c("Avainsana", "Lukumäärä")<br />
tags_out <- tags_out[order(tags_out$Lukumäärä, decreasing = TRUE),]<br />
oprint(<br />
tags_out,<br />
caption = "Avainsanojen lukumäärät", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = c(0, 0, 0)<br />
)<br />
ggplot(tags_out, aes(x = Avainsana, y = Lukumäärä, fill = Avainsana)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Avainsanojen frekvenssit")<br />
}<br />
<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter3 <- list()<br />
filter3$Sivu1 <- sivu<br />
filter3$Versio <- version<br />
filter3$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter3$JaeID1 <- NULL<br />
filter3$Sivu1 <- NULL<br />
filter3$JaeID2 <- jaeid<br />
filter3$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
related <- rel[<br />
rel$Result %in% c(<br />
"on neutraali suhteessa", <br />
"on uusi linjaus tai painotus", <br />
"tukee tai on linjassa", <br />
"vastustaa tai on ristiriidassa"<br />
), ]<br />
related$Result <- as.character(related$Result)<br />
affected <- rel[<br />
rel$Result %in% c(<br />
"ehdotus ei ole antanut aihetta muutoksiin",<br />
"ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun", <br />
"ehdotus huomioitu ja liittyvää painotusta muutettu",<br />
"ehdotus huomioitu ja uusi kohta lisätty"<br />
), ]<br />
affected$Result <- as.character(affected$Result)<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin"] <- "Ei aihetta muutoksiin"<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun"] <- "Sisältyy valmiiksi"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja liittyvää painotusta muutettu"] <- "Huomioitu painotuksella"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja uusi kohta lisätty"] <- "Huomioitu lisäyksellä"<br />
<br />
related_out <- ddply(related, "Result", nrow)<br />
colnames(related_out) <- c("Relaatio", "Lukumäärä")<br />
<br />
affected_out <- ddply(affected, "Result", nrow)<br />
colnames(affected_out) <- c("Sisällytys", "Lukumäärä")<br />
}<br />
<br />
if (nrow(related_out > 0)) {<br />
ggplot(related_out, aes(x = Relaatio, y = Lukumäärä, fill = Relaatio)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Relaatioiden frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
<br />
if (nrow(affected_out > 0)) {<br />
ggplot(affected_out, aes(x = Sisällytys, y = Lukumäärä, fill = Sisällytys)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Sisällytyksen frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
</rcode><br />
<br />
== Työkalut ==<br />
'''Aineiston työstämiseen tarkoitettuja koodeja.'''<br />
=== Jakeet ===<br />
==== Jaehakukone ====<br />
'''Hakee jakeita annetuilla kriteereillä. Näyttää myös tekniset sarakkeet. Vapaakenttiin voi laittaa useita arvoja erottelemalla ne pilkuilla.'''<br />
<rcode label="Näytä jakeet" name="jakeet" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Jakeita ei löytynyt!\n")<br />
}<br />
</rcode><br />
<br />
==== Jakeenlisäyskone ====<br />
'''Lisää tietokantaan vapaasti määriteltävän jakeen. Lisätyt jakeet näkyvät tämän sivun hakukoneissa. Niiden JaeID:llä on "L"-etuliite.'''<br />
<rcode label="Lisää jae" name="jakeenlisays" embed=1 variables="<br />
name:sivu|description:Sivu jolle jae lisätään|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:sisalto|description:Jakeen sisältö|type:textbox|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame( <br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
JaeID = NA,<br />
Result = sisalto<br />
)<br />
<br />
ident.subset <- paste(ident, "Jakeenlisaykset", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
filter$Sivu <- sivu<br />
<br />
upload_with_autoid(<br />
out,<br />
ident.subset,<br />
id_name = "JaeID",<br />
pagename = pagename,<br />
prefix = "L",<br />
filter = filter<br />
)<br />
</rcode><br />
<br />
==== Jakeenpoistokone ====<br />
'''Merkitsee jakeen epäkelvoksi, jolloin se jätetään näyttämättä kaikissa tämän sivun hakukoneissa.'''<br />
<rcode label="Poista jae" name="jakeenpoisto" embed=1 variables="<br />
name:sivu|description:Poistettavan jakeen sivu|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Poistettavan jakeen ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Tekninen jae';Tekninen jae;<br />
'Jae ei liity sivun aiheeseen';Jae ei liity sivun aiheeseen;<br />
'Jae on häiriköintiä';Jae on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jaeid <- strsplit(jaeid, ",", fixed = TRUE)[[1]]<br />
jaeid <- gsub(" ", "", jaeid)<br />
<br />
if (sum(nchar(jaeid)) == 0) stop("Anna jakeen ID")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame(<br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = as.character(jaeid)<br />
)<br />
<br />
opbase.upload(<br />
out, <br />
who = wiki_username, <br />
name = pagename,<br />
subset = "Jakeenpoistot",<br />
act_type = "append", <br />
language = "fin"<br />
)<br />
</rcode><br />
<br />
=== Avainsanat ===<br />
==== Avainsanahakukone ====<br />
'''Hakee jaekohtaisia avainsanoja. Näyttää datan sellaisena kuin se on tietokannassa.'''<br />
<rcode label="Näytä avainsanat" name="avainsanat_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka avainsanoja haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
out <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
==== Avainsanoitus ====<br />
'''Lisää tietokantaan annetut avainsanat. Avainanoja voidaan lisätä ruksaamalla annetusta listasta (vain yleisimmät) ja syöttämällä vapaakenttään pilkulla eroteltuna.'''<br />
<rcode label="Lisää avainsana" name="avainsananlisays" embed=1 variables="<br />
name:sivu|description:Minkä sivun jakeelle haluat lisätä avainsanoja?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Mikä on jakeen versio?|type:text|default:nykyinen|<br />
name:jae|description:Mikä on jakeen ID?|type:text|<br />
name:yl_avainsanat|description:Valitse alla olevasta listasta yleisiä avainsanoja.|type:checkbox|options:<br />
'Päätös';A Päätös (jae sisältää päätös- tai toimintaehdotuksen);<br />
'Vaikutus';B Vaikutus (jae kuvaa ilmiötä tai vaikutusta);<br />
'Arvo';C Arvo (jakeessa on arvoarvostelma tai kuvaa asian merkitystä);<br />
'Työn tekemiseen liittyvä';D Katsaustyön tekemiseen liittyvä;<br />
'Epäselvä luokka';E Ei mikään edellisistä (valitse ainakin yksi A-E)|<br />
name:avainsanat|description:Laita halutessasi yllä listaamattomattomia avainsanoja tähän pilkulla eroteltuna.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
avainsanat <- strsplit(avainsanat, ",", fixed = TRUE)[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat)<br />
avainsanat <- avainsanat[nchar(avainsanat) > 0]<br />
avainsanat <- c(yl_avainsanat, avainsanat)<br />
if (length(avainsanat) == 0) stop("Yhtään avainsanaa ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
AvainsanaID = NA, <br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Sivu = sivu,<br />
JaeID = as.character(jae), <br />
Result = avainsanat<br />
)<br />
<br />
ident.subset <- paste(ident, "Avainsanat", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "AvainsanaID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Avainsanojen lisääminen onnistui.\n")<br />
</rcode><br />
<br />
==== Avainsanan poisto ====<br />
'''Merkitsee avainsanan epäkelvoksi, jolloin tämän sivun hakukoneet eivät näytä sitä.'''<br />
<rcode name="avainsananpoisto" embed=1 label="Poista avainsana" showcode=0 variables="<br />
name:avid|description:Poistettavan avainsanan ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Avainsana ei päde uudessa versiossa';Avainsana ei päde uudessa versiossa;<br />
'Virheellinen avainsana';Virheellinen avainsana|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
avid <- strsplit(avid, ",", fixed = TRUE)[[1]]<br />
avid <- gsub(" ", "", avid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = avid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Avainsana poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
<br />
<br />
=== Relaatiot ===<br />
==== Relaatiohakukone ====<br />
'''Hakee relaatioita joissa mahdollisesti annetut jakeet esiintyvät. Näyttää datan sellaisena kuin se on tietokannassa.'''<br />
<rcode label="Näytä relaatiot" name="relaatiot_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka relaatioita haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
out <- rbind(rel1, rel2)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(<br />
out, <br />
include.rownames = FALSE,<br />
caption = "Relaatiot", <br />
caption.placement = "top"<br />
)<br />
} else {<br />
cat("Relaatioita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
==== Relaation lisääminen ====<br />
'''Lisää uuden relaation tietokantaan. Samantyyppisiä relaatioita voi kerralla lisätä useita, kun erottelee JaeID:t pilkuilla: relaatiot voi tehdä kaikki yhteen, yksi kaikkiin tai yksi yhteen. '''<br />
<rcode label="Lisää relaatio" name="relaatio" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:nykyinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID?|type:text|<br />
name:relaatio|description:'''Kuinka lähtöjae liittyy kohdejakeeseen?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'tukee tai on linjassa';tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';on neutraali suhteessa;<br />
'on uusi linjaus tai painotus';on uusi linjaus tai painotus;<br />
'kuuluu ryhmään/kokoelmaan';kuuluu ryhmään/kokoelmaan|<br />
name:lisarelaatio|description:VAPAAEHTOINEN Voit antaa oman jakeiden välisen relaation vapaakenttään.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
relaatio <- ifelse(lisarelaatio == '', relaatio, lisarelaatio)<br />
if (nchar(gsub(" ", "", relaatio)) == 0) stop("Relaatiota ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = relaatio<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Relaation lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
==== Sisällytyksen lisääminen ====<br />
'''Lisää uuden sisällytyksen tietokantaan. Sisällytys tapahtuu aina seuraavaan versioon. Samantyyppisiä sisällytyksiä voi kerralla lisätä useita, kun erottelee JaeID:t pilkuilla: sisällytykset voi tehdä kaikki yhteen, yksi kaikkiin tai yksi yhteen. '''<br />
<rcode label="Lisää sisällytys" name="sisallytys" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:edellinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID (uudemmassa versiossa)?|type:text|<br />
name:sisallytys|description:'''Sisällytettiinkö ehdotus uudempaan versioon?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun;<br />
'ehdotus ei ole antanut aihetta muutoksiin';ehdotus ei ole antanut aihetta muutoksiin|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
if (nchar(gsub(" ", "", sisallytys)) == 0) stop("Sisällytyksen tyyppiä ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "edellinen") {<br />
version <- get_current_version(ident) - 1<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = sisallytys<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Sisällytyksen lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
==== Relaation poisto ====<br />
'''Merkitsee relaation/sisällytyksen epäkelvoksi, jolloin tämän sivun hakukoneet eivät näytä sitä.'''<br />
<rcode name="relaationpoisto" embed=1 label="Poista relaatio" showcode=0 variables="<br />
name:relid|description:Poistettavan relaation ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Relaatio ei päde uudessa versiossa';Relaatio ei päde uudessa versiossa;<br />
'Virheellinen relaatio';Virheellinen relaatio|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
relid <- strsplit(relid, ",", fixed = TRUE)[[1]]<br />
relid <- gsub(" ", "", relid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = relid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Relaatio poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Sulautus (automaattinen sisällytys) ===<br />
'''Etsii edellisestä versiosta jakeita joiden sisältö löytyy uudessa versiossa jonkin jakeen sisällöstä. Koodi on keskeneräinen johtuen R:n peruskirjaston sisäisestä bugista joka estää samanaikaisen approksimaalisen että osittaisen osuman haun pitkistä teksteistä.''' <br />
{{tuloslinkki}}<br />
<br />
<rcode label="Etsi sulautuksia" name="sulautus" embed=0 variables="<br />
name:sivu|description:Sivut joihin sulautus tehdään (kaikista edellisen version jakeista)|type:checkbox|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:toleranssi|description:Toleranssi (Levenshtein distance)|default:5|<br />
name:tallenna|description:Tallenna kantaan|type:selection|options:TRUE;Kyllä;FALSE;Ei|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
mdat <- get_meta_data(ident)<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
version <- c(version - 1, version)<br />
<br />
jakeet <- jaehakukone(ident, versio = version)<br />
<br />
ver1 <- jakeet[jakeet$Versio == version[1],]<br />
ver2 <- jakeet[jakeet$Versio == version[2] & jakeet$Sivu == sivu,]<br />
<br />
# adist too slow<br />
d <- adist(<br />
ver1$Result, <br />
ver2$Result,<br />
fixed = FALSE<br />
)<br />
d[is.na(d)] <- Inf<br />
#d_min <- apply(d, 1, min)<br />
#d_tol <- d <= toleranssi<br />
#d_out <- apply(d, 1, which.min)<br />
<br />
colnames(ver1)[colnames(ver1) == "Versio"] <- "Versio1"<br />
colnames(ver1)[colnames(ver1) == "Sivu"] <- "Sivu1"<br />
colnames(ver1)[colnames(ver1) == "JaeID"] <- "JaeID1"<br />
colnames(ver1)[colnames(ver1) == "Result"] <- "Result1"<br />
<br />
colnames(ver2)[colnames(ver2) == "Versio"] <- "Versio2"<br />
colnames(ver2)[colnames(ver2) == "Sivu"] <- "Sivu2"<br />
colnames(ver2)[colnames(ver2) == "JaeID"] <- "JaeID2"<br />
colnames(ver2)[colnames(ver2) == "Result"] <- "Result2"<br />
<br />
#out <- cbind(ver1[d_min <= toleranssi, ], ver2[d_out[d_min <= toleranssi], ])<br />
<br />
d <- alply(d, 1, I)<br />
d_tol <- llply(d, function(x) {x <= toleranssi})<br />
d_reps <- laply(d_tol, sum)<br />
d_w <- llply(d_tol, which)<br />
d_w <- unlist(d_w)<br />
<br />
out <- cbind(ver1[rep(1:nrow(ver1), d_reps),], ver2[d_w, ])<br />
<br />
#d <- NULL<br />
#n <- NULL<br />
#for (i in 1:nrow(ver1)) {<br />
# for (j in split(ver2$Result, ceiling((1:nrow(ver2)) / 100))) {<br />
# temp <- agrep(ver1$Result[i], j, toleranssi)<br />
# d <- append(d, temp)<br />
# n <- append(n, length(temp))<br />
# }<br />
#}<br />
<br />
#out <- cbind(<br />
# ver1[rep(1:nrow(ver1), n),],<br />
# ver2[d,]<br />
#)<br />
if (tallenna) {<br />
opbase.upload(<br />
out,<br />
name = pagename,<br />
who = wiki_username,<br />
subset = "Sulautukset"<br />
)<br />
} else { <br />
oprint(<br />
out, <br />
include.rownames = FALSE, <br />
digits = rep(0, ncol(out) + 1), <br />
caption("Sulautus uuteen versioon"), <br />
caption.placement = "top",<br />
show.all = TRUE<br />
)<br />
}<br />
</rcode><br />
<br />
== Versiot ==<br />
'''Alla olevassa taulukossa on listattuna hankkeeseen kuuluvat sivut versiokohtaisesti. Tätä taulukkoa käytetään lähes kaikissa tämän sivun hakukoneissa määrittämään nykyinen versio (jokaista sivua kohden on lisättävä uusi rivi aina kun uusi versio luodaan, sikäli kun sivu on vielä mukana hankkeessa) sekä haettaessa kommentteja sivukohtaisista tietokannoista. Periaatteessa taulukkoa myös käytettäisiin määrittelemään sivujen versiokohtaiset revisiot (päivitysajankohtaiset sivut) wiki-jakeiden konelukemista varten, mutta koska tässä hankkeessa suurin osa työstä tehtiin ennen viimeistä versiota niin tätä toiminnallisuutta ei voida käyttää koska JaeID:t menisivät sekaisin.'''<br />
<t2b name="Versiot" index="Versio,Sivu,Ident" unit="OldID"><br />
1|Liikenne ja viestintä palveluna|Op_fi4248|<br />
1|Liikenteen palvelumarkkinat|Op_fi4253|<br />
1|Liikenteen energiareformi|Op_fi4254|<br />
1|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
1|Monipuoliset sisällöt|Op_fi4256|<br />
1|Oma Painotus Teema I|Op_fi4257|<br />
1|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
1|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
1|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
1|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
1|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
1|Oma Painotus Teema II|Op_fi4262|<br />
1|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
1|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
1|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
1|Arktinen strategia|Op_fi4265|<br />
1|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
1|Oma Painotus Teema III|Op_fi4267|<br />
1|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
2|Liikenne ja viestintä palveluna|Op_fi4248|<br />
2|Liikenteen palvelumarkkinat|Op_fi4253|<br />
2|Liikenteen energiareformi|Op_fi4254|<br />
2|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
2|Monipuoliset sisällöt|Op_fi4256|<br />
2|Oma Painotus Teema I|Op_fi4257|<br />
2|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
2|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
2|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
2|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
2|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
2|Oma Painotus Teema II|Op_fi4262|<br />
2|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
2|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
2|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
2|Arktinen strategia|Op_fi4265|<br />
2|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
2|Oma Painotus Teema III|Op_fi4267|<br />
2|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
</t2b></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Liikenne_ja_viestint%C3%A4_digitaalisessa_Suomessa_2020/Sis%C3%A4ll%C3%B6nanalyysi&diff=25996
Liikenne ja viestintä digitaalisessa Suomessa 2020/Sisällönanalyysi
2014-08-27T11:54:39Z
<p>Teemu R: /* Sulautus (automaattinen sisällytys) */</p>
<hr />
<div>{{LVM}}<br />
<br />
'''Tällä sivulla voit tarkastella liikenneministeriön tulevaisuuskatsauksen sisältöä ja kansalaisten antamien kommenttien suhdetta siihen. <br />
Alla olevilla työkaluilla voit hakea tekstin jakeita eli erillisiä tekstikappaleita ja niihin liittyviä avainsanoja tai muita jakeita. Relaatiot tarkoittavat kuvailua siitä, millä tavalla kaksi jaetta liittyy toisiinsa.'''<br />
<br />
= Tägikone =<br />
{{tuloslinkki}}<br />
== Käyttöohje ==<br />
Tägikoneen idea on pitää yllä jaetietokantaa ja määritellään jakeille avainsanoja ja relaatoita joiden tarkoitus on rikastaa sivustolla käydystä keskustelusta analyysikelpoista yleisemmän tason tietoa. <br /><br />
<br />
'''[[#Jakeet]] määritellään koodilla joka lukee wikisivuilta tekstiä kappaleittain (myös taulukot ja bullet pointit). Jakeisiin lisätään myös kommentointityökalulla tehdyt kommentit, joita ei vielä ole siirretty wikitekstiin, sekä tämän sivun [[#Jakeenlisäyskone|koodilla lisätyt jakeet]]. Kullakin jakeella on oma tunniste (JaeID) joka on sivukohtainen. Etsimällä [[#Jaehakukone|jaehakukoneesta]] oman kommenttisi ja kopioimalla JaeID:n muihin sivun hakukoneisiin voit tarkastella kommenttiisi liitettyjä tägitietoja.'''<br /><br />
<br />
'''[[#Avainsanat]] ovat jaekohtaisia ja ne lisätään yleensä käsityönä. [[#Avainsanoitus|Avainsanoituksen]] tekee joko kommentoija itse tai moderaattori.'''<br /><br />
<br />
'''[[#Relaatiot]] voidaan määritellä kahden jakeen välille (myös käsityötä). [[#Relaation lisääminen|Relaatiot lisää]] joko kommentoija itse tai moderaattori.'''<br /><br />
<br />
'''[[#Versiot]] - wikisivuja päivitetään mahdollisesti jatkuvasti, minkä johdosta versiointi on tarpeellista. Koska jakeet ovat versiokohtaisia niin avainsanat ja relaatiot ovat myös versiokohtaisia. Avainsanojen ja relaatioiden automaattista periytymistä on kehitetty, mutta koodi on vielä kesken [[#Sulautus (automaattinen sisällytys)]].'''<br />
<br />
== Yhdistelmähakukoneet ==<br />
=== Jaekohtainen avainsanalistaus ===<br />
'''Hakee jakeita ja näyttää kaikki niihin liittyvät avainsanat'''<br />
<rcode label="Hae" name="avainsanat_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) == 0) {<br />
stop("Jakeita ei löytynyt!")<br />
}<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
} else {<br />
# Yhdistetään kunkin jakeen avainsanat yhdelle riville<br />
tags <- ddply(<br />
tags, <br />
c("Versio", "Sivu", "JaeID"), <br />
function(x) {a <- x[1,];a$Avainsanat <- paste(x$Result, collapse = ", ");return(a)}<br />
)<br />
<br />
out <- join(<br />
out[c("Versio", "Sivu", "JaeID", "Result")],<br />
tags[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
by = c("Versio", "Sivu", "JaeID"),<br />
type = "inner",<br />
match = "first"<br />
)<br />
<br />
# Jos annettiin vain yksi versio ja/tai sivu niin niitä ei tarvitse printata<br />
filter_ind <- NULL<br />
if (length(version) != 1) filter_ind <- c(filter_ind, "Versio")<br />
if (length(sivu) != 1) filter_ind <- c(filter_ind, "Sivu")<br />
filter_ind <- c(filter_ind, "JaeID")<br />
<br />
oprint(<br />
out[c(filter_ind, "Result", "Avainsanat")], <br />
include.rownames = FALSE, <br />
show_all = TRUE<br />
)<br />
}<br />
</rcode><br />
<br />
=== Jae-relaatio-jae listaus ===<br />
'''Hakee jakeita ja niihin liittyviä toisia jakeita listaten myös relaation tyypin'''<br />
<rcode label="Hae" name="relaatiot_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta relaatioita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:liitsis|description:Liittymistyyppi (tyhjä = kaikki)|type:checkbox|options:<br />
'tukee tai on linjassa';Tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';Vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';On neutraali suhteessa;<br />
'on uusi linjaus tai painotus';On uusi linjaus tai painotus;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';Ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';Ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin';Ehdotus ei ole antanut aihetta muutoksiin;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';Ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:details|description:Näytetäänkö tekniset yksityiskohdat?|type:selection|options:FALSE;Ei, vain jakeiden sisältö;TRUE;Kyllä, myös jakeiden numerot|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
# Eri sisältymistyypit pitää määritellä niin että ne voidaan käsitellä erillään muista relaatioista<br />
sis_opt <- c(<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu',<br />
'ehdotus huomioitu ja uusi kohta lisätty',<br />
'ehdotus ei ole antanut aihetta muutoksiin', <br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun'<br />
)<br />
#liit_opt <- c(<br />
# 'tukee tai on linjassa',<br />
# 'vastustaa tai on ristiriidassa',<br />
# 'on neutraali suhteessa',<br />
# 'on uusi linjaus tai painotus'<br />
#)<br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (!is.null(liitsis)) rel <- rel[rel$Result %in% liitsis, ]<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = unique(c(<br />
as.character(rel$Sivu1), <br />
as.character(rel$Sivu2)<br />
)), <br />
versio = version, <br />
jae = unique(c(<br />
as.character(rel$JaeID1), <br />
as.character(rel$JaeID2)<br />
))<br />
)<br />
if (nrow(jakeet) == 0) stop("Relaatioissa listattuja jakeita ei löytynyt!")<br />
<br />
# Relaatiot<br />
if (nrow(rel[!(rel$Relaatio %in% sis_opt),]) > 0) {<br />
jakeet <- jakeet[c("Versio", "Sivu", "JaeID", "Result")]<br />
colnames(jakeet)[colnames(jakeet) == "JaeID"] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu"] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Jae1"<br />
rel <- rel[c("RelaatioID", "Versio", "Sivu1", "JaeID1", "Result", "Sivu2", "JaeID2")]<br />
colnames(rel)[colnames(rel) == "Result"] <- "Relaatio"<br />
out <- join(<br />
rel[(!(rel$Relaatio %in% sis_opt)) & rel$Versio %in% original_version,], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
out <- join(out, jakeet, match = "first")<br />
<br />
if(details) {<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
<br />
temp <- out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")]<br />
temp <- data.frame(<br />
Jae1 = paste(temp$Jae1, " (", temp$Sivu1, ")", sep = ""),<br />
Relaatio = temp$Relaatio,<br />
Jae2 = paste(temp$Jae2, " (", temp$Sivu2, ")", sep = "")<br />
)<br />
oprint(temp, <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
}<br />
} else {<br />
cat("Ei relaatioita!\n")<br />
}<br />
<br />
# Sisällytykset<br />
if (nrow(rel[(rel$Relaatio %in% sis_opt),]) > 0) {<br />
colnames(jakeet)[colnames(jakeet) %in% c("JaeID","JaeID2")] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Sivu", "Sivu2")] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Result", "Jae2")] <- "Jae1"<br />
colnames(rel)[colnames(rel) == "Relaatio"] <- "Sisällytys"<br />
out <- join(<br />
rel[rel$Sisällytys %in% sis_opt & rel$Versio %in% version[-length(version)],], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
jakeet$Versio <- as.numeric(as.character(jakeet$Versio)) - 1<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Sisällytys", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Sisällytys (uudempaan versioon)", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei sisällytyksiä!\n")<br />
}<br />
}<br />
</rcode><br />
<br />
=== Avainsana- ja relaatiotietojen analyysi ===<br />
<br />
'''Hae jakeita annetuilla kriteereillä ja vertaile avainsanojen ja relaatioiden lukumääriä. Halutessasi voit myös listata jaeosumat. Vapaakenttiin voi syöttää useita arvoja erottelemalla ne pilkuilla.'''<br />
<br />
Käytetyt avainsanat:<br />
{{piilotettu|<br />
3D-tulostus Aikataulut Ajoneuvokanta Alueellisuus <br />
alustus Ammattiryhmät Arvo Asutus <br />
Aurinko Automatisaatio Avoimuus Big Data <br />
Biopolttoaine Dataliikenne Digitalisoituminen Eettisyys <br />
eIDAS Elintaso Energia Epäselvä luokka <br />
Eriarvoisuus Erityisryhmät Esineiden internet Globaalius <br />
Globaaluis Henkilökortti Henkilötiedot Huutokauppa <br />
Hybridi Hybridi-TV Hyvinvointi Hyvinvointiyhteiskunta <br />
Häiriöt Ilmasto Infrastruktuuri Innovatiivisus <br />
Innovatiivisuus Internet Investoinnit Joukkoliikenne <br />
Joustavuus Julkinen valta Kaivosteollisuus Kansainvälisyys <br />
Kasvihuonekaasut Kaupallisuus Kaupungit Kehitys <br />
Kestävyys Kevyen liikenteen väylät Kevytliikenne Kiinteistöt <br />
Kilpailu Kilpailukyky Konesalit Konkreettisuus <br />
Kotimaisuus Koulutus Kunnat Kustannustehokkuus <br />
Kuuluvuus Kävely Laajakaista Lainsäädäntö <br />
Laiton tarjonta Langattomuus Lappi Lentoliikenne <br />
Liikenne Liikenneverkostot Liikkumistili Linja-autot <br />
Logistiikka Luonnonsuojelu Lämmitys Maakaasu <br />
Maatalous Mainonta Markkinat Massavalvonta <br />
Meriliikenne Metadata Mobiiliverkko Mopot <br />
Nopeus Ohjaus Ohjelmistot Ohjelmistotoimittaja <br />
Oikeusturva Omavaraisuus Operaattori Osaaminen <br />
Ostovoima Palaute Palvelut Palvelutaso <br />
Peruskunto Pilvipalvelut Polttoaine Posti <br />
Puelueettomuus Pysäköinti Pyöräily Päivitys <br />
Pääkaupunkiseutu Päästöt Päätöksenteko Päätös <br />
Raha Rahoitus Rahtliikenne Rajapinnat <br />
Rakennemuutos Rakentaminen Raskas liikenne Rautatiet <br />
Riippuvuus Rikokset Robotisaatio Ruuhkamaksu <br />
Ruuhkautuminen Saatavuus Sateliittipaikannus Sovellukset <br />
Strategia Suunnittelu Sähkö Sähköauto <br />
Sääntely Säästöt Talous Talouskasvu <br />
Tarpeet Tasa-arvo Tasapuolisuus Tasavertaisuus <br />
Tavaraliikenne Tehokkuus Tekijänoikeus Tekniikkaneutraalius <br />
Tekninen tuki Teknologia Teknologianeutraalius Teollisuus <br />
Terveydenhuolto Terveys testi Tiedon avoimuus <br />
Tiedon hallinnointi Tiedon hallinta Tiedon hyödyntäminen Tieliikenne <br />
Tietoliikenne Tietoturva Toimilupa Toiminta <br />
Toimintavarmuus Toimivuus Tuki Turvallisuus <br />
Turvaverkko Tutkimus Tuuli TV <br />
Työllisyys Työn tekemiseen liittyvä Ulkomaat Uudistus <br />
Vaihtoehtoiset polttoaineet Vaikuttaminen Vaikutus Vakuutus <br />
Valinnanvapaus Valtio Varmenne Varmuus <br />
Vastuu Verkostoituminen Verotus Vesiliikenne <br />
Vesiliikenne, Tasavertaisuus Viestintäverkot Viranomaiset Yhteensopivuus <br />
Yhteiskunta Yhteiskuntamurros Yhteistyö Yhteysnopeus <br />
Yksityisautoilu Yksityisyydensuoja YLE Yleispalvelu <br />
Yleisradio Ympäristö Yritykset Öljy <br />
}}<br />
<br />
<rcode label="Näytä tilastoja/jakeita" name="jae_stats" embed=1 graphics=1 variables="<br />
name:sivu|description:Minkä sivun jakeita haluat tarkastella?|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:avainsanat|description:Hae jakeita joilla on ainakin yksi seuraavista avainsanoista|type:text|<br />
name:avainsanat_all|description:Hae jakeita joilla on kaikki seuraavat avainsanat|type:text|<br />
name:jaelista|description:Haluatko nähdä kaikki löydetyt jakeet?|type:selection|options:FALSE;En;TRUE;Kyllä|default:FALSE|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
library(ggplot2)<br />
<br />
filter <- list()<br />
if (nchar(gsub(" ", "", avainsanat)) > 0) {<br />
avainsanat <- strsplit(avainsanat, ",")[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat) <br />
} else {<br />
avainsanat <- NULL<br />
}<br />
if (nchar(gsub(" ", "", avainsanat_all)) > 0) {<br />
avainsanat_all <- strsplit(avainsanat_all, ",")[[1]]<br />
avainsanat_all <- gsub("^\\s*|\\s*$", "", avainsanat_all)<br />
#filter$Avainsana <- avainsanat_all<br />
} else {<br />
avainsanat_all <- NULL<br />
}<br />
filter$Sivu <- sivu<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
filter$Versio <- version<br />
<br />
if (length(filter) == 0) filter <- NULL<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
jaeid <- NULL<br />
<br />
if (!is.null(avainsanat)|!is.null(avainsanat_all)) {<br />
tags <- tags[tags$Result %in% c(avainsanat, avainsanat_all), ]<br />
jaeid <- unique(as.character(tags$JaeID))<br />
}<br />
<br />
if(!is.null(avainsanat_all)) {<br />
temp <- list()<br />
for (i in 1:nrow(jaeid)) {<br />
temp[[i]] <- avainsanat_all %in% tags$Result[tags$JaeID == jaeid[i]]<br />
}<br />
temp <- lapply(temp, all)<br />
jaeid <- jaeid[temp]<br />
tags <- tags[tags$JaeID %in% jaeid,]<br />
}<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt.\n")<br />
}<br />
<br />
if (is.null(filter)) {<br />
filter2 <- list()<br />
} else {<br />
filter2 <- filter<br />
}<br />
<br />
filter2$JaeID <- jaeid<br />
<br />
if (length(filter2) == 0) filter2 <- NULL<br />
<br />
if (jaelista) {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = filter2$Sivu, # *list$non-existent returns NULL<br />
versio = filter2$Versio, <br />
jae = filter2$JaeID<br />
)<br />
if (nrow(jakeet) == 0) {<br />
cat("Avainsanoissa listattuja jakeita ei löytynyt.\n")<br />
} else {<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Sisältö"<br />
tagged <- NULL<br />
if (nrow(tags) > 0) {<br />
#tagged <- join(<br />
# jakeet[c("Versio", "Sivu", "Aihe", "JaeID")], <br />
# tags[c("Versio", "Sivu", "JaeID", "Result")]<br />
#)<br />
#colnames(tagged)[colnames(tagged) == "Result"] <- "Avainsana"<br />
tagged <- tapply(tags$Result, tags[c("Versio", "Sivu", "JaeID")], paste, collapse = ", ")<br />
tagged <- as.data.frame(as.table(tagged))<br />
colnames(tagged)[colnames(tagged) == "Freq"] <- "Avainsanat"<br />
tagged <- join(<br />
jakeet[c("Versio", "Sivu", "JaeID", "Sisältö")], <br />
tagged[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
type = "inner",<br />
match = "first"<br />
)<br />
oprint(<br />
tagged[c("Versio", "Sivu", "JaeID", "Sisältö", "Avainsanat")],<br />
caption = "Jakeet", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = rep(0, 6)<br />
)<br />
}<br />
}<br />
}<br />
<br />
if (nrow(tags) > 0) {<br />
tags_out <- ddply(tags, "Result", nrow)<br />
colnames(tags_out) <- c("Avainsana", "Lukumäärä")<br />
tags_out <- tags_out[order(tags_out$Lukumäärä, decreasing = TRUE),]<br />
oprint(<br />
tags_out,<br />
caption = "Avainsanojen lukumäärät", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = c(0, 0, 0)<br />
)<br />
ggplot(tags_out, aes(x = Avainsana, y = Lukumäärä, fill = Avainsana)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Avainsanojen frekvenssit")<br />
}<br />
<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter3 <- list()<br />
filter3$Sivu1 <- sivu<br />
filter3$Versio <- version<br />
filter3$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter3$JaeID1 <- NULL<br />
filter3$Sivu1 <- NULL<br />
filter3$JaeID2 <- jaeid<br />
filter3$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
related <- rel[<br />
rel$Result %in% c(<br />
"on neutraali suhteessa", <br />
"on uusi linjaus tai painotus", <br />
"tukee tai on linjassa", <br />
"vastustaa tai on ristiriidassa"<br />
), ]<br />
related$Result <- as.character(related$Result)<br />
affected <- rel[<br />
rel$Result %in% c(<br />
"ehdotus ei ole antanut aihetta muutoksiin",<br />
"ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun", <br />
"ehdotus huomioitu ja liittyvää painotusta muutettu",<br />
"ehdotus huomioitu ja uusi kohta lisätty"<br />
), ]<br />
affected$Result <- as.character(affected$Result)<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin"] <- "Ei aihetta muutoksiin"<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun"] <- "Sisältyy valmiiksi"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja liittyvää painotusta muutettu"] <- "Huomioitu painotuksella"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja uusi kohta lisätty"] <- "Huomioitu lisäyksellä"<br />
<br />
related_out <- ddply(related, "Result", nrow)<br />
colnames(related_out) <- c("Relaatio", "Lukumäärä")<br />
<br />
affected_out <- ddply(affected, "Result", nrow)<br />
colnames(affected_out) <- c("Sisällytys", "Lukumäärä")<br />
}<br />
<br />
if (nrow(related_out > 0)) {<br />
ggplot(related_out, aes(x = Relaatio, y = Lukumäärä, fill = Relaatio)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Relaatioiden frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
<br />
if (nrow(affected_out > 0)) {<br />
ggplot(affected_out, aes(x = Sisällytys, y = Lukumäärä, fill = Sisällytys)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Sisällytyksen frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
</rcode><br />
<br />
== Työkalut ==<br />
'''Aineiston työstämiseen tarkoitettuja koodeja.'''<br />
=== Jakeet ===<br />
==== Jaehakukone ====<br />
'''Hakee jakeita annetuilla kriteereillä. Näyttää myös tekniset sarakkeet. Vapaakenttiin voi laittaa useita arvoja erottelemalla ne pilkuilla.'''<br />
<rcode label="Näytä jakeet" name="jakeet" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Jakeita ei löytynyt!\n")<br />
}<br />
</rcode><br />
<br />
==== Jakeenlisäyskone ====<br />
'''Lisää tietokantaan vapaasti määriteltävän jakeen. Lisätyt jakeet näkyvät tämän sivun hakukoneissa. Niiden JaeID:llä on "L"-etuliite.'''<br />
<rcode label="Lisää jae" name="jakeenlisays" embed=1 variables="<br />
name:sivu|description:Sivu jolle jae lisätään|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:sisalto|description:Jakeen sisältö|type:textbox|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame( <br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
JaeID = NA,<br />
Result = sisalto<br />
)<br />
<br />
ident.subset <- paste(ident, "Jakeenlisaykset", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
filter$Sivu <- sivu<br />
<br />
upload_with_autoid(<br />
out,<br />
ident.subset,<br />
id_name = "JaeID",<br />
pagename = pagename,<br />
prefix = "L",<br />
filter = filter<br />
)<br />
</rcode><br />
<br />
==== Jakeenpoistokone ====<br />
'''Merkitsee jakeen epäkelvoksi, jolloin se jätetään näyttämättä kaikissa tämän sivun hakukoneissa.'''<br />
<rcode label="Poista jae" name="jakeenpoisto" embed=1 variables="<br />
name:sivu|description:Poistettavan jakeen sivu|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Poistettavan jakeen ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Tekninen jae';Tekninen jae;<br />
'Jae ei liity sivun aiheeseen';Jae ei liity sivun aiheeseen;<br />
'Jae on häiriköintiä';Jae on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jaeid <- strsplit(jaeid, ",", fixed = TRUE)[[1]]<br />
jaeid <- gsub(" ", "", jaeid)<br />
<br />
if (sum(nchar(jaeid)) == 0) stop("Anna jakeen ID")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame(<br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = as.character(jaeid)<br />
)<br />
<br />
opbase.upload(<br />
out, <br />
who = wiki_username, <br />
name = pagename,<br />
subset = "Jakeenpoistot",<br />
act_type = "append", <br />
language = "fin"<br />
)<br />
</rcode><br />
<br />
=== Avainsanat ===<br />
==== Avainsanahakukone ====<br />
'''Hakee jaekohtaisia avainsanoja. Näyttää datan sellaisena kuin se on tietokannassa.'''<br />
<rcode label="Näytä avainsanat" name="avainsanat_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka avainsanoja haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
out <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
==== Avainsanoitus ====<br />
'''Lisää tietokantaan annetut avainsanat. Avainanoja voidaan lisätä ruksaamalla annetusta listasta (vain yleisimmät) ja syöttämällä vapaakenttään pilkulla eroteltuna.'''<br />
<rcode label="Lisää avainsana" name="avainsananlisays" embed=1 variables="<br />
name:sivu|description:Minkä sivun jakeelle haluat lisätä avainsanoja?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Mikä on jakeen versio?|type:text|default:nykyinen|<br />
name:jae|description:Mikä on jakeen ID?|type:text|<br />
name:yl_avainsanat|description:Valitse alla olevasta listasta yleisiä avainsanoja.|type:checkbox|options:<br />
'Päätös';A Päätös (jae sisältää päätös- tai toimintaehdotuksen);<br />
'Vaikutus';B Vaikutus (jae kuvaa ilmiötä tai vaikutusta);<br />
'Arvo';C Arvo (jakeessa on arvoarvostelma tai kuvaa asian merkitystä);<br />
'Työn tekemiseen liittyvä';D Katsaustyön tekemiseen liittyvä;<br />
'Epäselvä luokka';E Ei mikään edellisistä (valitse ainakin yksi A-E)|<br />
name:avainsanat|description:Laita halutessasi yllä listaamattomattomia avainsanoja tähän pilkulla eroteltuna.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
avainsanat <- strsplit(avainsanat, ",", fixed = TRUE)[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat)<br />
avainsanat <- avainsanat[nchar(avainsanat) > 0]<br />
avainsanat <- c(yl_avainsanat, avainsanat)<br />
if (length(avainsanat) == 0) stop("Yhtään avainsanaa ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
AvainsanaID = NA, <br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Sivu = sivu,<br />
JaeID = as.character(jae), <br />
Result = avainsanat<br />
)<br />
<br />
ident.subset <- paste(ident, "Avainsanat", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "AvainsanaID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Avainsanojen lisääminen onnistui.\n")<br />
</rcode><br />
<br />
==== Avainsanan poisto ====<br />
'''Merkitsee avainsanan epäkelvoksi, jolloin tämän sivun hakukoneet eivät näytä sitä.'''<br />
<rcode name="avainsananpoisto" embed=1 label="Poista avainsana" showcode=0 variables="<br />
name:avid|description:Poistettavan avainsanan ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Avainsana ei päde uudessa versiossa';Avainsana ei päde uudessa versiossa;<br />
'Virheellinen avainsana';Virheellinen avainsana|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
avid <- strsplit(avid, ",", fixed = TRUE)[[1]]<br />
avid <- gsub(" ", "", avid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = avid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Avainsana poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
<br />
<br />
=== Relaatiot ===<br />
==== Relaatiohakukone ====<br />
'''Hakee relaatioita joissa mahdollisesti annetut jakeet esiintyvät. Näyttää datan sellaisena kuin se on tietokannassa.'''<br />
<rcode label="Näytä relaatiot" name="relaatiot_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka relaatioita haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
out <- rbind(rel1, rel2)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(<br />
out, <br />
include.rownames = FALSE,<br />
caption = "Relaatiot", <br />
caption.placement = "top"<br />
)<br />
} else {<br />
cat("Relaatioita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
==== Relaation lisääminen ====<br />
'''Lisää uuden relaation tietokantaan. Samantyyppisiä relaatioita voi kerralla lisätä useita, kun erottelee JaeID:t pilkuilla: relaatiot voi tehdä kaikki yhteen, yksi kaikkiin tai yksi yhteen. '''<br />
<rcode label="Lisää relaatio" name="relaatio" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:nykyinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID?|type:text|<br />
name:relaatio|description:'''Kuinka lähtöjae liittyy kohdejakeeseen?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'tukee tai on linjassa';tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';on neutraali suhteessa;<br />
'on uusi linjaus tai painotus';on uusi linjaus tai painotus;<br />
'kuuluu ryhmään/kokoelmaan';kuuluu ryhmään/kokoelmaan|<br />
name:lisarelaatio|description:VAPAAEHTOINEN Voit antaa oman jakeiden välisen relaation vapaakenttään.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
relaatio <- ifelse(lisarelaatio == '', relaatio, lisarelaatio)<br />
if (nchar(gsub(" ", "", relaatio)) == 0) stop("Relaatiota ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = relaatio<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Relaation lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
==== Sisällytyksen lisääminen ====<br />
'''Lisää uuden sisällytyksen tietokantaan. Sisällytys tapahtuu aina seuraavaan versioon. Samantyyppisiä sisällytyksiä voi kerralla lisätä useita, kun erottelee JaeID:t pilkuilla: sisällytykset voi tehdä kaikki yhteen, yksi kaikkiin tai yksi yhteen. '''<br />
<rcode label="Lisää sisällytys" name="sisallytys" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:edellinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID (uudemmassa versiossa)?|type:text|<br />
name:sisallytys|description:'''Sisällytettiinkö ehdotus uudempaan versioon?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun;<br />
'ehdotus ei ole antanut aihetta muutoksiin';ehdotus ei ole antanut aihetta muutoksiin|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
if (nchar(gsub(" ", "", sisallytys)) == 0) stop("Sisällytyksen tyyppiä ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "edellinen") {<br />
version <- get_current_version(ident) - 1<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = sisallytys<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Sisällytyksen lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
==== Relaation poisto ====<br />
'''Merkitsee relaation/sisällytyksen epäkelvoksi, jolloin tämän sivun hakukoneet eivät näytä sitä.'''<br />
<rcode name="relaationpoisto" embed=1 label="Poista relaatio" showcode=0 variables="<br />
name:relid|description:Poistettavan relaation ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Relaatio ei päde uudessa versiossa';Relaatio ei päde uudessa versiossa;<br />
'Virheellinen relaatio';Virheellinen relaatio|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
relid <- strsplit(relid, ",", fixed = TRUE)[[1]]<br />
relid <- gsub(" ", "", relid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = relid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Relaatio poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Sulautus (automaattinen sisällytys) ===<br />
'''Etsii edellisestä versiosta jakeita joiden sisältö löytyy uudessa versiossa jonkin jakeen sisällöstä. Koodi on keskeneräinen johtuen R:n peruskirjaston sisäisestä bugista joka estää samanaikaisen approksimaalisen että osittaisen osuman haun pitkistä teksteistä.''' <br />
{{tuloslinkki}}<br />
<br />
<rcode label="Etsi sulautuksia" name="sulautus" embed=0 variables="<br />
name:sivu|description:Sivut joihin sulautus tehdään (kaikista edellisen version jakeista)|type:checkbox|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:toleranssi|description:Toleranssi (Levenshtein distance)|default:5|<br />
name:tallenna|description:Tallenna kantaan|type:selection|options:TRUE;Kyllä;FALSE;Ei|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
mdat <- get_meta_data(ident)<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
version <- c(version - 1, version)<br />
<br />
jakeet <- jaehakukone(ident, versio = version)<br />
<br />
ver1 <- jakeet[jakeet$Versio == version[1],]<br />
ver2 <- jakeet[jakeet$Versio == version[2] & jakeet$Sivu == sivu,]<br />
<br />
# adist too slow<br />
d <- adist(<br />
ver1$Result, <br />
ver2$Result,<br />
fixed = FALSE<br />
)<br />
d[is.na(d)] <- Inf<br />
#d_min <- apply(d, 1, min)<br />
#d_tol <- d <= toleranssi<br />
#d_out <- apply(d, 1, which.min)<br />
<br />
colnames(ver1)[colnames(ver1) == "Versio"] <- "Versio1"<br />
colnames(ver1)[colnames(ver1) == "Sivu"] <- "Sivu1"<br />
colnames(ver1)[colnames(ver1) == "JaeID"] <- "JaeID1"<br />
colnames(ver1)[colnames(ver1) == "Result"] <- "Result1"<br />
<br />
colnames(ver2)[colnames(ver2) == "Versio"] <- "Versio2"<br />
colnames(ver2)[colnames(ver2) == "Sivu"] <- "Sivu2"<br />
colnames(ver2)[colnames(ver2) == "JaeID"] <- "JaeID2"<br />
colnames(ver2)[colnames(ver2) == "Result"] <- "Result2"<br />
<br />
#out <- cbind(ver1[d_min <= toleranssi, ], ver2[d_out[d_min <= toleranssi], ])<br />
<br />
d <- alply(d, 1, I)<br />
d_tol <- llply(d, function(x) {x <= toleranssi})<br />
d_reps <- laply(d_tol, sum)<br />
d_w <- llply(d_tol, which)<br />
d_w <- unlist(d_w)<br />
<br />
out <- cbind(ver1[rep(1:nrow(ver1), d_reps),], ver2[d_w, ])<br />
<br />
#d <- NULL<br />
#n <- NULL<br />
#for (i in 1:nrow(ver1)) {<br />
# for (j in split(ver2$Result, ceiling((1:nrow(ver2)) / 100))) {<br />
# temp <- agrep(ver1$Result[i], j, toleranssi)<br />
# d <- append(d, temp)<br />
# n <- append(n, length(temp))<br />
# }<br />
#}<br />
<br />
#out <- cbind(<br />
# ver1[rep(1:nrow(ver1), n),],<br />
# ver2[d,]<br />
#)<br />
if (tallenna) {<br />
opbase.upload(<br />
out,<br />
name = pagename,<br />
who = wiki_username,<br />
subset = "Sulautukset"<br />
)<br />
} else { <br />
oprint(<br />
out, <br />
include.rownames = FALSE, <br />
digits = rep(0, ncol(out) + 1), <br />
caption("Sulautus uuteen versioon"), <br />
caption.placement = "top",<br />
show.all = TRUE<br />
)<br />
}<br />
</rcode><br />
<br />
== Versiot ==<br />
'''Alla olevassa taulukossa on listattuna hankkeeseen kuuluvat sivut versiokohtaisesti. Tätä taulukkoa käytetään lähes kaikissa tämän sivun hakukoneissa määrittämään nykyinen versio (jokaista sivua kohden on lisättävä uusi rivi aina kun uusi versio luodaan, sikäli kun sivu on vielä mukana hankkeessa) sekä haettaessa kommentteja sivukohtaisista tietokannoista. Periaatteessa taulukkoa myös käytettäisiin määrittelemään sivujen versiokohtaiset revisiot (päivitysajankohtaiset sivut) wiki-jakeiden konelukemista varten, mutta koska tässä hankkeessa suurin osa työstä tehtiin ennen viimeistä versiota niin tätä toiminnallisuutta ei voida käyttää koska JaeID:t menisivät sekaisin.'''<br />
<t2b name="Versiot" index="Versio,Sivu,Ident" unit="OldID"><br />
1|Liikenne ja viestintä palveluna|Op_fi4248|<br />
1|Liikenteen palvelumarkkinat|Op_fi4253|<br />
1|Liikenteen energiareformi|Op_fi4254|<br />
1|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
1|Monipuoliset sisällöt|Op_fi4256|<br />
1|Oma Painotus Teema I|Op_fi4257|<br />
1|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
1|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
1|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
1|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
1|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
1|Oma Painotus Teema II|Op_fi4262|<br />
1|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
1|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
1|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
1|Arktinen strategia|Op_fi4265|<br />
1|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
1|Oma Painotus Teema III|Op_fi4267|<br />
1|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
2|Liikenne ja viestintä palveluna|Op_fi4248|<br />
2|Liikenteen palvelumarkkinat|Op_fi4253|<br />
2|Liikenteen energiareformi|Op_fi4254|<br />
2|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
2|Monipuoliset sisällöt|Op_fi4256|<br />
2|Oma Painotus Teema I|Op_fi4257|<br />
2|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
2|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
2|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
2|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
2|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
2|Oma Painotus Teema II|Op_fi4262|<br />
2|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
2|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
2|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
2|Arktinen strategia|Op_fi4265|<br />
2|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
2|Oma Painotus Teema III|Op_fi4267|<br />
2|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
</t2b></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Liikenne_ja_viestint%C3%A4_digitaalisessa_Suomessa_2020/Sis%C3%A4ll%C3%B6nanalyysi&diff=25994
Liikenne ja viestintä digitaalisessa Suomessa 2020/Sisällönanalyysi
2014-08-27T11:51:20Z
<p>Teemu R: /* Relaation lisääminen */</p>
<hr />
<div>{{LVM}}<br />
<br />
'''Tällä sivulla voit tarkastella liikenneministeriön tulevaisuuskatsauksen sisältöä ja kansalaisten antamien kommenttien suhdetta siihen. <br />
Alla olevilla työkaluilla voit hakea tekstin jakeita eli erillisiä tekstikappaleita ja niihin liittyviä avainsanoja tai muita jakeita. Relaatiot tarkoittavat kuvailua siitä, millä tavalla kaksi jaetta liittyy toisiinsa.'''<br />
<br />
= Tägikone =<br />
{{tuloslinkki}}<br />
== Käyttöohje ==<br />
Tägikoneen idea on pitää yllä jaetietokantaa ja määritellään jakeille avainsanoja ja relaatoita joiden tarkoitus on rikastaa sivustolla käydystä keskustelusta analyysikelpoista yleisemmän tason tietoa. <br /><br />
<br />
'''[[#Jakeet]] määritellään koodilla joka lukee wikisivuilta tekstiä kappaleittain (myös taulukot ja bullet pointit). Jakeisiin lisätään myös kommentointityökalulla tehdyt kommentit, joita ei vielä ole siirretty wikitekstiin, sekä tämän sivun [[#Jakeenlisäyskone|koodilla lisätyt jakeet]]. Kullakin jakeella on oma tunniste (JaeID) joka on sivukohtainen. Etsimällä [[#Jaehakukone|jaehakukoneesta]] oman kommenttisi ja kopioimalla JaeID:n muihin sivun hakukoneisiin voit tarkastella kommenttiisi liitettyjä tägitietoja.'''<br /><br />
<br />
'''[[#Avainsanat]] ovat jaekohtaisia ja ne lisätään yleensä käsityönä. [[#Avainsanoitus|Avainsanoituksen]] tekee joko kommentoija itse tai moderaattori.'''<br /><br />
<br />
'''[[#Relaatiot]] voidaan määritellä kahden jakeen välille (myös käsityötä). [[#Relaation lisääminen|Relaatiot lisää]] joko kommentoija itse tai moderaattori.'''<br /><br />
<br />
'''[[#Versiot]] - wikisivuja päivitetään mahdollisesti jatkuvasti, minkä johdosta versiointi on tarpeellista. Koska jakeet ovat versiokohtaisia niin avainsanat ja relaatiot ovat myös versiokohtaisia. Avainsanojen ja relaatioiden automaattista periytymistä on kehitetty, mutta koodi on vielä kesken [[#Sulautus (automaattinen sisällytys)]].'''<br />
<br />
== Yhdistelmähakukoneet ==<br />
=== Jaekohtainen avainsanalistaus ===<br />
'''Hakee jakeita ja näyttää kaikki niihin liittyvät avainsanat'''<br />
<rcode label="Hae" name="avainsanat_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) == 0) {<br />
stop("Jakeita ei löytynyt!")<br />
}<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
} else {<br />
# Yhdistetään kunkin jakeen avainsanat yhdelle riville<br />
tags <- ddply(<br />
tags, <br />
c("Versio", "Sivu", "JaeID"), <br />
function(x) {a <- x[1,];a$Avainsanat <- paste(x$Result, collapse = ", ");return(a)}<br />
)<br />
<br />
out <- join(<br />
out[c("Versio", "Sivu", "JaeID", "Result")],<br />
tags[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
by = c("Versio", "Sivu", "JaeID"),<br />
type = "inner",<br />
match = "first"<br />
)<br />
<br />
# Jos annettiin vain yksi versio ja/tai sivu niin niitä ei tarvitse printata<br />
filter_ind <- NULL<br />
if (length(version) != 1) filter_ind <- c(filter_ind, "Versio")<br />
if (length(sivu) != 1) filter_ind <- c(filter_ind, "Sivu")<br />
filter_ind <- c(filter_ind, "JaeID")<br />
<br />
oprint(<br />
out[c(filter_ind, "Result", "Avainsanat")], <br />
include.rownames = FALSE, <br />
show_all = TRUE<br />
)<br />
}<br />
</rcode><br />
<br />
=== Jae-relaatio-jae listaus ===<br />
'''Hakee jakeita ja niihin liittyviä toisia jakeita listaten myös relaation tyypin'''<br />
<rcode label="Hae" name="relaatiot_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta relaatioita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:liitsis|description:Liittymistyyppi (tyhjä = kaikki)|type:checkbox|options:<br />
'tukee tai on linjassa';Tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';Vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';On neutraali suhteessa;<br />
'on uusi linjaus tai painotus';On uusi linjaus tai painotus;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';Ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';Ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin';Ehdotus ei ole antanut aihetta muutoksiin;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';Ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:details|description:Näytetäänkö tekniset yksityiskohdat?|type:selection|options:FALSE;Ei, vain jakeiden sisältö;TRUE;Kyllä, myös jakeiden numerot|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
# Eri sisältymistyypit pitää määritellä niin että ne voidaan käsitellä erillään muista relaatioista<br />
sis_opt <- c(<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu',<br />
'ehdotus huomioitu ja uusi kohta lisätty',<br />
'ehdotus ei ole antanut aihetta muutoksiin', <br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun'<br />
)<br />
#liit_opt <- c(<br />
# 'tukee tai on linjassa',<br />
# 'vastustaa tai on ristiriidassa',<br />
# 'on neutraali suhteessa',<br />
# 'on uusi linjaus tai painotus'<br />
#)<br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (!is.null(liitsis)) rel <- rel[rel$Result %in% liitsis, ]<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = unique(c(<br />
as.character(rel$Sivu1), <br />
as.character(rel$Sivu2)<br />
)), <br />
versio = version, <br />
jae = unique(c(<br />
as.character(rel$JaeID1), <br />
as.character(rel$JaeID2)<br />
))<br />
)<br />
if (nrow(jakeet) == 0) stop("Relaatioissa listattuja jakeita ei löytynyt!")<br />
<br />
# Relaatiot<br />
if (nrow(rel[!(rel$Relaatio %in% sis_opt),]) > 0) {<br />
jakeet <- jakeet[c("Versio", "Sivu", "JaeID", "Result")]<br />
colnames(jakeet)[colnames(jakeet) == "JaeID"] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu"] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Jae1"<br />
rel <- rel[c("RelaatioID", "Versio", "Sivu1", "JaeID1", "Result", "Sivu2", "JaeID2")]<br />
colnames(rel)[colnames(rel) == "Result"] <- "Relaatio"<br />
out <- join(<br />
rel[(!(rel$Relaatio %in% sis_opt)) & rel$Versio %in% original_version,], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
out <- join(out, jakeet, match = "first")<br />
<br />
if(details) {<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
<br />
temp <- out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")]<br />
temp <- data.frame(<br />
Jae1 = paste(temp$Jae1, " (", temp$Sivu1, ")", sep = ""),<br />
Relaatio = temp$Relaatio,<br />
Jae2 = paste(temp$Jae2, " (", temp$Sivu2, ")", sep = "")<br />
)<br />
oprint(temp, <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
}<br />
} else {<br />
cat("Ei relaatioita!\n")<br />
}<br />
<br />
# Sisällytykset<br />
if (nrow(rel[(rel$Relaatio %in% sis_opt),]) > 0) {<br />
colnames(jakeet)[colnames(jakeet) %in% c("JaeID","JaeID2")] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Sivu", "Sivu2")] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Result", "Jae2")] <- "Jae1"<br />
colnames(rel)[colnames(rel) == "Relaatio"] <- "Sisällytys"<br />
out <- join(<br />
rel[rel$Sisällytys %in% sis_opt & rel$Versio %in% version[-length(version)],], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
jakeet$Versio <- as.numeric(as.character(jakeet$Versio)) - 1<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Sisällytys", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Sisällytys (uudempaan versioon)", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei sisällytyksiä!\n")<br />
}<br />
}<br />
</rcode><br />
<br />
=== Avainsana- ja relaatiotietojen analyysi ===<br />
<br />
'''Hae jakeita annetuilla kriteereillä ja vertaile avainsanojen ja relaatioiden lukumääriä. Halutessasi voit myös listata jaeosumat. Vapaakenttiin voi syöttää useita arvoja erottelemalla ne pilkuilla.'''<br />
<br />
Käytetyt avainsanat:<br />
{{piilotettu|<br />
3D-tulostus Aikataulut Ajoneuvokanta Alueellisuus <br />
alustus Ammattiryhmät Arvo Asutus <br />
Aurinko Automatisaatio Avoimuus Big Data <br />
Biopolttoaine Dataliikenne Digitalisoituminen Eettisyys <br />
eIDAS Elintaso Energia Epäselvä luokka <br />
Eriarvoisuus Erityisryhmät Esineiden internet Globaalius <br />
Globaaluis Henkilökortti Henkilötiedot Huutokauppa <br />
Hybridi Hybridi-TV Hyvinvointi Hyvinvointiyhteiskunta <br />
Häiriöt Ilmasto Infrastruktuuri Innovatiivisus <br />
Innovatiivisuus Internet Investoinnit Joukkoliikenne <br />
Joustavuus Julkinen valta Kaivosteollisuus Kansainvälisyys <br />
Kasvihuonekaasut Kaupallisuus Kaupungit Kehitys <br />
Kestävyys Kevyen liikenteen väylät Kevytliikenne Kiinteistöt <br />
Kilpailu Kilpailukyky Konesalit Konkreettisuus <br />
Kotimaisuus Koulutus Kunnat Kustannustehokkuus <br />
Kuuluvuus Kävely Laajakaista Lainsäädäntö <br />
Laiton tarjonta Langattomuus Lappi Lentoliikenne <br />
Liikenne Liikenneverkostot Liikkumistili Linja-autot <br />
Logistiikka Luonnonsuojelu Lämmitys Maakaasu <br />
Maatalous Mainonta Markkinat Massavalvonta <br />
Meriliikenne Metadata Mobiiliverkko Mopot <br />
Nopeus Ohjaus Ohjelmistot Ohjelmistotoimittaja <br />
Oikeusturva Omavaraisuus Operaattori Osaaminen <br />
Ostovoima Palaute Palvelut Palvelutaso <br />
Peruskunto Pilvipalvelut Polttoaine Posti <br />
Puelueettomuus Pysäköinti Pyöräily Päivitys <br />
Pääkaupunkiseutu Päästöt Päätöksenteko Päätös <br />
Raha Rahoitus Rahtliikenne Rajapinnat <br />
Rakennemuutos Rakentaminen Raskas liikenne Rautatiet <br />
Riippuvuus Rikokset Robotisaatio Ruuhkamaksu <br />
Ruuhkautuminen Saatavuus Sateliittipaikannus Sovellukset <br />
Strategia Suunnittelu Sähkö Sähköauto <br />
Sääntely Säästöt Talous Talouskasvu <br />
Tarpeet Tasa-arvo Tasapuolisuus Tasavertaisuus <br />
Tavaraliikenne Tehokkuus Tekijänoikeus Tekniikkaneutraalius <br />
Tekninen tuki Teknologia Teknologianeutraalius Teollisuus <br />
Terveydenhuolto Terveys testi Tiedon avoimuus <br />
Tiedon hallinnointi Tiedon hallinta Tiedon hyödyntäminen Tieliikenne <br />
Tietoliikenne Tietoturva Toimilupa Toiminta <br />
Toimintavarmuus Toimivuus Tuki Turvallisuus <br />
Turvaverkko Tutkimus Tuuli TV <br />
Työllisyys Työn tekemiseen liittyvä Ulkomaat Uudistus <br />
Vaihtoehtoiset polttoaineet Vaikuttaminen Vaikutus Vakuutus <br />
Valinnanvapaus Valtio Varmenne Varmuus <br />
Vastuu Verkostoituminen Verotus Vesiliikenne <br />
Vesiliikenne, Tasavertaisuus Viestintäverkot Viranomaiset Yhteensopivuus <br />
Yhteiskunta Yhteiskuntamurros Yhteistyö Yhteysnopeus <br />
Yksityisautoilu Yksityisyydensuoja YLE Yleispalvelu <br />
Yleisradio Ympäristö Yritykset Öljy <br />
}}<br />
<br />
<rcode label="Näytä tilastoja/jakeita" name="jae_stats" embed=1 graphics=1 variables="<br />
name:sivu|description:Minkä sivun jakeita haluat tarkastella?|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:avainsanat|description:Hae jakeita joilla on ainakin yksi seuraavista avainsanoista|type:text|<br />
name:avainsanat_all|description:Hae jakeita joilla on kaikki seuraavat avainsanat|type:text|<br />
name:jaelista|description:Haluatko nähdä kaikki löydetyt jakeet?|type:selection|options:FALSE;En;TRUE;Kyllä|default:FALSE|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
library(ggplot2)<br />
<br />
filter <- list()<br />
if (nchar(gsub(" ", "", avainsanat)) > 0) {<br />
avainsanat <- strsplit(avainsanat, ",")[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat) <br />
} else {<br />
avainsanat <- NULL<br />
}<br />
if (nchar(gsub(" ", "", avainsanat_all)) > 0) {<br />
avainsanat_all <- strsplit(avainsanat_all, ",")[[1]]<br />
avainsanat_all <- gsub("^\\s*|\\s*$", "", avainsanat_all)<br />
#filter$Avainsana <- avainsanat_all<br />
} else {<br />
avainsanat_all <- NULL<br />
}<br />
filter$Sivu <- sivu<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
filter$Versio <- version<br />
<br />
if (length(filter) == 0) filter <- NULL<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
jaeid <- NULL<br />
<br />
if (!is.null(avainsanat)|!is.null(avainsanat_all)) {<br />
tags <- tags[tags$Result %in% c(avainsanat, avainsanat_all), ]<br />
jaeid <- unique(as.character(tags$JaeID))<br />
}<br />
<br />
if(!is.null(avainsanat_all)) {<br />
temp <- list()<br />
for (i in 1:nrow(jaeid)) {<br />
temp[[i]] <- avainsanat_all %in% tags$Result[tags$JaeID == jaeid[i]]<br />
}<br />
temp <- lapply(temp, all)<br />
jaeid <- jaeid[temp]<br />
tags <- tags[tags$JaeID %in% jaeid,]<br />
}<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt.\n")<br />
}<br />
<br />
if (is.null(filter)) {<br />
filter2 <- list()<br />
} else {<br />
filter2 <- filter<br />
}<br />
<br />
filter2$JaeID <- jaeid<br />
<br />
if (length(filter2) == 0) filter2 <- NULL<br />
<br />
if (jaelista) {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = filter2$Sivu, # *list$non-existent returns NULL<br />
versio = filter2$Versio, <br />
jae = filter2$JaeID<br />
)<br />
if (nrow(jakeet) == 0) {<br />
cat("Avainsanoissa listattuja jakeita ei löytynyt.\n")<br />
} else {<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Sisältö"<br />
tagged <- NULL<br />
if (nrow(tags) > 0) {<br />
#tagged <- join(<br />
# jakeet[c("Versio", "Sivu", "Aihe", "JaeID")], <br />
# tags[c("Versio", "Sivu", "JaeID", "Result")]<br />
#)<br />
#colnames(tagged)[colnames(tagged) == "Result"] <- "Avainsana"<br />
tagged <- tapply(tags$Result, tags[c("Versio", "Sivu", "JaeID")], paste, collapse = ", ")<br />
tagged <- as.data.frame(as.table(tagged))<br />
colnames(tagged)[colnames(tagged) == "Freq"] <- "Avainsanat"<br />
tagged <- join(<br />
jakeet[c("Versio", "Sivu", "JaeID", "Sisältö")], <br />
tagged[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
type = "inner",<br />
match = "first"<br />
)<br />
oprint(<br />
tagged[c("Versio", "Sivu", "JaeID", "Sisältö", "Avainsanat")],<br />
caption = "Jakeet", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = rep(0, 6)<br />
)<br />
}<br />
}<br />
}<br />
<br />
if (nrow(tags) > 0) {<br />
tags_out <- ddply(tags, "Result", nrow)<br />
colnames(tags_out) <- c("Avainsana", "Lukumäärä")<br />
tags_out <- tags_out[order(tags_out$Lukumäärä, decreasing = TRUE),]<br />
oprint(<br />
tags_out,<br />
caption = "Avainsanojen lukumäärät", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = c(0, 0, 0)<br />
)<br />
ggplot(tags_out, aes(x = Avainsana, y = Lukumäärä, fill = Avainsana)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Avainsanojen frekvenssit")<br />
}<br />
<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter3 <- list()<br />
filter3$Sivu1 <- sivu<br />
filter3$Versio <- version<br />
filter3$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter3$JaeID1 <- NULL<br />
filter3$Sivu1 <- NULL<br />
filter3$JaeID2 <- jaeid<br />
filter3$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
related <- rel[<br />
rel$Result %in% c(<br />
"on neutraali suhteessa", <br />
"on uusi linjaus tai painotus", <br />
"tukee tai on linjassa", <br />
"vastustaa tai on ristiriidassa"<br />
), ]<br />
related$Result <- as.character(related$Result)<br />
affected <- rel[<br />
rel$Result %in% c(<br />
"ehdotus ei ole antanut aihetta muutoksiin",<br />
"ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun", <br />
"ehdotus huomioitu ja liittyvää painotusta muutettu",<br />
"ehdotus huomioitu ja uusi kohta lisätty"<br />
), ]<br />
affected$Result <- as.character(affected$Result)<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin"] <- "Ei aihetta muutoksiin"<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun"] <- "Sisältyy valmiiksi"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja liittyvää painotusta muutettu"] <- "Huomioitu painotuksella"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja uusi kohta lisätty"] <- "Huomioitu lisäyksellä"<br />
<br />
related_out <- ddply(related, "Result", nrow)<br />
colnames(related_out) <- c("Relaatio", "Lukumäärä")<br />
<br />
affected_out <- ddply(affected, "Result", nrow)<br />
colnames(affected_out) <- c("Sisällytys", "Lukumäärä")<br />
}<br />
<br />
if (nrow(related_out > 0)) {<br />
ggplot(related_out, aes(x = Relaatio, y = Lukumäärä, fill = Relaatio)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Relaatioiden frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
<br />
if (nrow(affected_out > 0)) {<br />
ggplot(affected_out, aes(x = Sisällytys, y = Lukumäärä, fill = Sisällytys)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Sisällytyksen frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
</rcode><br />
<br />
== Työkalut ==<br />
'''Aineiston työstämiseen tarkoitettuja koodeja.'''<br />
=== Jakeet ===<br />
==== Jaehakukone ====<br />
'''Hakee jakeita annetuilla kriteereillä. Näyttää myös tekniset sarakkeet. Vapaakenttiin voi laittaa useita arvoja erottelemalla ne pilkuilla.'''<br />
<rcode label="Näytä jakeet" name="jakeet" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Jakeita ei löytynyt!\n")<br />
}<br />
</rcode><br />
<br />
==== Jakeenlisäyskone ====<br />
'''Lisää tietokantaan vapaasti määriteltävän jakeen. Lisätyt jakeet näkyvät tämän sivun hakukoneissa. Niiden JaeID:llä on "L"-etuliite.'''<br />
<rcode label="Lisää jae" name="jakeenlisays" embed=1 variables="<br />
name:sivu|description:Sivu jolle jae lisätään|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:sisalto|description:Jakeen sisältö|type:textbox|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame( <br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
JaeID = NA,<br />
Result = sisalto<br />
)<br />
<br />
ident.subset <- paste(ident, "Jakeenlisaykset", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
filter$Sivu <- sivu<br />
<br />
upload_with_autoid(<br />
out,<br />
ident.subset,<br />
id_name = "JaeID",<br />
pagename = pagename,<br />
prefix = "L",<br />
filter = filter<br />
)<br />
</rcode><br />
<br />
==== Jakeenpoistokone ====<br />
'''Merkitsee jakeen epäkelvoksi, jolloin se jätetään näyttämättä kaikissa tämän sivun hakukoneissa.'''<br />
<rcode label="Poista jae" name="jakeenpoisto" embed=1 variables="<br />
name:sivu|description:Poistettavan jakeen sivu|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Poistettavan jakeen ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Tekninen jae';Tekninen jae;<br />
'Jae ei liity sivun aiheeseen';Jae ei liity sivun aiheeseen;<br />
'Jae on häiriköintiä';Jae on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jaeid <- strsplit(jaeid, ",", fixed = TRUE)[[1]]<br />
jaeid <- gsub(" ", "", jaeid)<br />
<br />
if (sum(nchar(jaeid)) == 0) stop("Anna jakeen ID")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame(<br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = as.character(jaeid)<br />
)<br />
<br />
opbase.upload(<br />
out, <br />
who = wiki_username, <br />
name = pagename,<br />
subset = "Jakeenpoistot",<br />
act_type = "append", <br />
language = "fin"<br />
)<br />
</rcode><br />
<br />
=== Avainsanat ===<br />
==== Avainsanahakukone ====<br />
'''Hakee jaekohtaisia avainsanoja. Näyttää datan sellaisena kuin se on tietokannassa.'''<br />
<rcode label="Näytä avainsanat" name="avainsanat_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka avainsanoja haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
out <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
==== Avainsanoitus ====<br />
'''Lisää tietokantaan annetut avainsanat. Avainanoja voidaan lisätä ruksaamalla annetusta listasta (vain yleisimmät) ja syöttämällä vapaakenttään pilkulla eroteltuna.'''<br />
<rcode label="Lisää avainsana" name="avainsananlisays" embed=1 variables="<br />
name:sivu|description:Minkä sivun jakeelle haluat lisätä avainsanoja?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Mikä on jakeen versio?|type:text|default:nykyinen|<br />
name:jae|description:Mikä on jakeen ID?|type:text|<br />
name:yl_avainsanat|description:Valitse alla olevasta listasta yleisiä avainsanoja.|type:checkbox|options:<br />
'Päätös';A Päätös (jae sisältää päätös- tai toimintaehdotuksen);<br />
'Vaikutus';B Vaikutus (jae kuvaa ilmiötä tai vaikutusta);<br />
'Arvo';C Arvo (jakeessa on arvoarvostelma tai kuvaa asian merkitystä);<br />
'Työn tekemiseen liittyvä';D Katsaustyön tekemiseen liittyvä;<br />
'Epäselvä luokka';E Ei mikään edellisistä (valitse ainakin yksi A-E)|<br />
name:avainsanat|description:Laita halutessasi yllä listaamattomattomia avainsanoja tähän pilkulla eroteltuna.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
avainsanat <- strsplit(avainsanat, ",", fixed = TRUE)[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat)<br />
avainsanat <- avainsanat[nchar(avainsanat) > 0]<br />
avainsanat <- c(yl_avainsanat, avainsanat)<br />
if (length(avainsanat) == 0) stop("Yhtään avainsanaa ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
AvainsanaID = NA, <br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Sivu = sivu,<br />
JaeID = as.character(jae), <br />
Result = avainsanat<br />
)<br />
<br />
ident.subset <- paste(ident, "Avainsanat", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "AvainsanaID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Avainsanojen lisääminen onnistui.\n")<br />
</rcode><br />
<br />
==== Avainsanan poisto ====<br />
'''Merkitsee avainsanan epäkelvoksi, jolloin tämän sivun hakukoneet eivät näytä sitä.'''<br />
<rcode name="avainsananpoisto" embed=1 label="Poista avainsana" showcode=0 variables="<br />
name:avid|description:Poistettavan avainsanan ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Avainsana ei päde uudessa versiossa';Avainsana ei päde uudessa versiossa;<br />
'Virheellinen avainsana';Virheellinen avainsana|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
avid <- strsplit(avid, ",", fixed = TRUE)[[1]]<br />
avid <- gsub(" ", "", avid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = avid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Avainsana poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
<br />
<br />
=== Relaatiot ===<br />
==== Relaatiohakukone ====<br />
'''Hakee relaatioita joissa mahdollisesti annetut jakeet esiintyvät. Näyttää datan sellaisena kuin se on tietokannassa.'''<br />
<rcode label="Näytä relaatiot" name="relaatiot_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka relaatioita haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
out <- rbind(rel1, rel2)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(<br />
out, <br />
include.rownames = FALSE,<br />
caption = "Relaatiot", <br />
caption.placement = "top"<br />
)<br />
} else {<br />
cat("Relaatioita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
==== Relaation lisääminen ====<br />
'''Lisää uuden relaation tietokantaan. Samantyyppisiä relaatioita voi kerralla lisätä useita, kun erottelee JaeID:t pilkuilla: relaatiot voi tehdä kaikki yhteen, yksi kaikkiin tai yksi yhteen. '''<br />
<rcode label="Lisää relaatio" name="relaatio" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:nykyinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID?|type:text|<br />
name:relaatio|description:'''Kuinka lähtöjae liittyy kohdejakeeseen?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'tukee tai on linjassa';tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';on neutraali suhteessa;<br />
'on uusi linjaus tai painotus';on uusi linjaus tai painotus;<br />
'kuuluu ryhmään/kokoelmaan';kuuluu ryhmään/kokoelmaan|<br />
name:lisarelaatio|description:VAPAAEHTOINEN Voit antaa oman jakeiden välisen relaation vapaakenttään.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
relaatio <- ifelse(lisarelaatio == '', relaatio, lisarelaatio)<br />
if (nchar(gsub(" ", "", relaatio)) == 0) stop("Relaatiota ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = relaatio<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Relaation lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
==== Sisällytyksen lisääminen ====<br />
'''Lisää uuden sisällytyksen tietokantaan. Sisällytys tapahtuu aina seuraavaan versioon. Samantyyppisiä sisällytyksiä voi kerralla lisätä useita, kun erottelee JaeID:t pilkuilla: sisällytykset voi tehdä kaikki yhteen, yksi kaikkiin tai yksi yhteen. '''<br />
<rcode label="Lisää sisällytys" name="sisallytys" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:edellinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID (uudemmassa versiossa)?|type:text|<br />
name:sisallytys|description:'''Sisällytettiinkö ehdotus uudempaan versioon?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun;<br />
'ehdotus ei ole antanut aihetta muutoksiin';ehdotus ei ole antanut aihetta muutoksiin|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
if (nchar(gsub(" ", "", sisallytys)) == 0) stop("Sisällytyksen tyyppiä ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "edellinen") {<br />
version <- get_current_version(ident) - 1<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = sisallytys<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Sisällytyksen lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
==== Relaation poisto ====<br />
'''Merkitsee relaation/sisällytyksen epäkelvoksi, jolloin tämän sivun hakukoneet eivät näytä sitä.'''<br />
<rcode name="relaationpoisto" embed=1 label="Poista relaatio" showcode=0 variables="<br />
name:relid|description:Poistettavan relaation ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Relaatio ei päde uudessa versiossa';Relaatio ei päde uudessa versiossa;<br />
'Virheellinen relaatio';Virheellinen relaatio|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
relid <- strsplit(relid, ",", fixed = TRUE)[[1]]<br />
relid <- gsub(" ", "", relid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = relid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Relaatio poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Sulautus (automaattinen sisällytys) ===<br />
'''Etsii edellisestä versiosta jakeita joiden sisältö löytyy uudessa versiossa jonkin jakeen sisällöstä. Koodi on keskeneräinen johtuen R:n peruskirjaston sisäisestä bugista joka estää samanaikaisen approksimaalisen että osittaisen osuman haun.''' <br />
{{tuloslinkki}}<br />
<br />
<rcode label="Etsi sulautuksia" name="sulautus" embed=0 variables="<br />
name:sivu|description:Sivut joihin sulautus tehdään (kaikista edellisen version jakeista)|type:checkbox|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:toleranssi|description:Toleranssi (Levenshtein distance)|default:5|<br />
name:tallenna|description:Tallenna kantaan|type:selection|options:TRUE;Kyllä;FALSE;Ei|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
mdat <- get_meta_data(ident)<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
version <- c(version - 1, version)<br />
<br />
jakeet <- jaehakukone(ident, versio = version)<br />
<br />
ver1 <- jakeet[jakeet$Versio == version[1],]<br />
ver2 <- jakeet[jakeet$Versio == version[2] & jakeet$Sivu == sivu,]<br />
<br />
# adist too slow<br />
d <- adist(<br />
ver1$Result, <br />
ver2$Result,<br />
fixed = FALSE<br />
)<br />
d[is.na(d)] <- Inf<br />
#d_min <- apply(d, 1, min)<br />
#d_tol <- d <= toleranssi<br />
#d_out <- apply(d, 1, which.min)<br />
<br />
colnames(ver1)[colnames(ver1) == "Versio"] <- "Versio1"<br />
colnames(ver1)[colnames(ver1) == "Sivu"] <- "Sivu1"<br />
colnames(ver1)[colnames(ver1) == "JaeID"] <- "JaeID1"<br />
colnames(ver1)[colnames(ver1) == "Result"] <- "Result1"<br />
<br />
colnames(ver2)[colnames(ver2) == "Versio"] <- "Versio2"<br />
colnames(ver2)[colnames(ver2) == "Sivu"] <- "Sivu2"<br />
colnames(ver2)[colnames(ver2) == "JaeID"] <- "JaeID2"<br />
colnames(ver2)[colnames(ver2) == "Result"] <- "Result2"<br />
<br />
#out <- cbind(ver1[d_min <= toleranssi, ], ver2[d_out[d_min <= toleranssi], ])<br />
<br />
d <- alply(d, 1, I)<br />
d_tol <- llply(d, function(x) {x <= toleranssi})<br />
d_reps <- laply(d_tol, sum)<br />
d_w <- llply(d_tol, which)<br />
d_w <- unlist(d_w)<br />
<br />
out <- cbind(ver1[rep(1:nrow(ver1), d_reps),], ver2[d_w, ])<br />
<br />
#d <- NULL<br />
#n <- NULL<br />
#for (i in 1:nrow(ver1)) {<br />
# for (j in split(ver2$Result, ceiling((1:nrow(ver2)) / 100))) {<br />
# temp <- agrep(ver1$Result[i], j, toleranssi)<br />
# d <- append(d, temp)<br />
# n <- append(n, length(temp))<br />
# }<br />
#}<br />
<br />
#out <- cbind(<br />
# ver1[rep(1:nrow(ver1), n),],<br />
# ver2[d,]<br />
#)<br />
if (tallenna) {<br />
opbase.upload(<br />
out,<br />
name = pagename,<br />
who = wiki_username,<br />
subset = "Sulautukset"<br />
)<br />
} else { <br />
oprint(<br />
out, <br />
include.rownames = FALSE, <br />
digits = rep(0, ncol(out) + 1), <br />
caption("Sulautus uuteen versioon"), <br />
caption.placement = "top",<br />
show.all = TRUE<br />
)<br />
}<br />
</rcode><br />
<br />
== Versiot ==<br />
'''Alla olevassa taulukossa on listattuna hankkeeseen kuuluvat sivut versiokohtaisesti. Tätä taulukkoa käytetään lähes kaikissa tämän sivun hakukoneissa määrittämään nykyinen versio (jokaista sivua kohden on lisättävä uusi rivi aina kun uusi versio luodaan, sikäli kun sivu on vielä mukana hankkeessa) sekä haettaessa kommentteja sivukohtaisista tietokannoista. Periaatteessa taulukkoa myös käytettäisiin määrittelemään sivujen versiokohtaiset revisiot (päivitysajankohtaiset sivut) wiki-jakeiden konelukemista varten, mutta koska tässä hankkeessa suurin osa työstä tehtiin ennen viimeistä versiota niin tätä toiminnallisuutta ei voida käyttää koska JaeID:t menisivät sekaisin.'''<br />
<t2b name="Versiot" index="Versio,Sivu,Ident" unit="OldID"><br />
1|Liikenne ja viestintä palveluna|Op_fi4248|<br />
1|Liikenteen palvelumarkkinat|Op_fi4253|<br />
1|Liikenteen energiareformi|Op_fi4254|<br />
1|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
1|Monipuoliset sisällöt|Op_fi4256|<br />
1|Oma Painotus Teema I|Op_fi4257|<br />
1|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
1|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
1|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
1|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
1|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
1|Oma Painotus Teema II|Op_fi4262|<br />
1|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
1|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
1|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
1|Arktinen strategia|Op_fi4265|<br />
1|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
1|Oma Painotus Teema III|Op_fi4267|<br />
1|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
2|Liikenne ja viestintä palveluna|Op_fi4248|<br />
2|Liikenteen palvelumarkkinat|Op_fi4253|<br />
2|Liikenteen energiareformi|Op_fi4254|<br />
2|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
2|Monipuoliset sisällöt|Op_fi4256|<br />
2|Oma Painotus Teema I|Op_fi4257|<br />
2|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
2|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
2|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
2|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
2|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
2|Oma Painotus Teema II|Op_fi4262|<br />
2|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
2|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
2|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
2|Arktinen strategia|Op_fi4265|<br />
2|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
2|Oma Painotus Teema III|Op_fi4267|<br />
2|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
</t2b></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Liikenne_ja_viestint%C3%A4_digitaalisessa_Suomessa_2020/Sis%C3%A4ll%C3%B6nanalyysi&diff=25992
Liikenne ja viestintä digitaalisessa Suomessa 2020/Sisällönanalyysi
2014-08-27T11:50:34Z
<p>Teemu R: /* Sisällytyksen lisääminen */</p>
<hr />
<div>{{LVM}}<br />
<br />
'''Tällä sivulla voit tarkastella liikenneministeriön tulevaisuuskatsauksen sisältöä ja kansalaisten antamien kommenttien suhdetta siihen. <br />
Alla olevilla työkaluilla voit hakea tekstin jakeita eli erillisiä tekstikappaleita ja niihin liittyviä avainsanoja tai muita jakeita. Relaatiot tarkoittavat kuvailua siitä, millä tavalla kaksi jaetta liittyy toisiinsa.'''<br />
<br />
= Tägikone =<br />
{{tuloslinkki}}<br />
== Käyttöohje ==<br />
Tägikoneen idea on pitää yllä jaetietokantaa ja määritellään jakeille avainsanoja ja relaatoita joiden tarkoitus on rikastaa sivustolla käydystä keskustelusta analyysikelpoista yleisemmän tason tietoa. <br /><br />
<br />
'''[[#Jakeet]] määritellään koodilla joka lukee wikisivuilta tekstiä kappaleittain (myös taulukot ja bullet pointit). Jakeisiin lisätään myös kommentointityökalulla tehdyt kommentit, joita ei vielä ole siirretty wikitekstiin, sekä tämän sivun [[#Jakeenlisäyskone|koodilla lisätyt jakeet]]. Kullakin jakeella on oma tunniste (JaeID) joka on sivukohtainen. Etsimällä [[#Jaehakukone|jaehakukoneesta]] oman kommenttisi ja kopioimalla JaeID:n muihin sivun hakukoneisiin voit tarkastella kommenttiisi liitettyjä tägitietoja.'''<br /><br />
<br />
'''[[#Avainsanat]] ovat jaekohtaisia ja ne lisätään yleensä käsityönä. [[#Avainsanoitus|Avainsanoituksen]] tekee joko kommentoija itse tai moderaattori.'''<br /><br />
<br />
'''[[#Relaatiot]] voidaan määritellä kahden jakeen välille (myös käsityötä). [[#Relaation lisääminen|Relaatiot lisää]] joko kommentoija itse tai moderaattori.'''<br /><br />
<br />
'''[[#Versiot]] - wikisivuja päivitetään mahdollisesti jatkuvasti, minkä johdosta versiointi on tarpeellista. Koska jakeet ovat versiokohtaisia niin avainsanat ja relaatiot ovat myös versiokohtaisia. Avainsanojen ja relaatioiden automaattista periytymistä on kehitetty, mutta koodi on vielä kesken [[#Sulautus (automaattinen sisällytys)]].'''<br />
<br />
== Yhdistelmähakukoneet ==<br />
=== Jaekohtainen avainsanalistaus ===<br />
'''Hakee jakeita ja näyttää kaikki niihin liittyvät avainsanat'''<br />
<rcode label="Hae" name="avainsanat_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) == 0) {<br />
stop("Jakeita ei löytynyt!")<br />
}<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
} else {<br />
# Yhdistetään kunkin jakeen avainsanat yhdelle riville<br />
tags <- ddply(<br />
tags, <br />
c("Versio", "Sivu", "JaeID"), <br />
function(x) {a <- x[1,];a$Avainsanat <- paste(x$Result, collapse = ", ");return(a)}<br />
)<br />
<br />
out <- join(<br />
out[c("Versio", "Sivu", "JaeID", "Result")],<br />
tags[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
by = c("Versio", "Sivu", "JaeID"),<br />
type = "inner",<br />
match = "first"<br />
)<br />
<br />
# Jos annettiin vain yksi versio ja/tai sivu niin niitä ei tarvitse printata<br />
filter_ind <- NULL<br />
if (length(version) != 1) filter_ind <- c(filter_ind, "Versio")<br />
if (length(sivu) != 1) filter_ind <- c(filter_ind, "Sivu")<br />
filter_ind <- c(filter_ind, "JaeID")<br />
<br />
oprint(<br />
out[c(filter_ind, "Result", "Avainsanat")], <br />
include.rownames = FALSE, <br />
show_all = TRUE<br />
)<br />
}<br />
</rcode><br />
<br />
=== Jae-relaatio-jae listaus ===<br />
'''Hakee jakeita ja niihin liittyviä toisia jakeita listaten myös relaation tyypin'''<br />
<rcode label="Hae" name="relaatiot_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta relaatioita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:liitsis|description:Liittymistyyppi (tyhjä = kaikki)|type:checkbox|options:<br />
'tukee tai on linjassa';Tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';Vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';On neutraali suhteessa;<br />
'on uusi linjaus tai painotus';On uusi linjaus tai painotus;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';Ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';Ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin';Ehdotus ei ole antanut aihetta muutoksiin;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';Ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:details|description:Näytetäänkö tekniset yksityiskohdat?|type:selection|options:FALSE;Ei, vain jakeiden sisältö;TRUE;Kyllä, myös jakeiden numerot|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
# Eri sisältymistyypit pitää määritellä niin että ne voidaan käsitellä erillään muista relaatioista<br />
sis_opt <- c(<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu',<br />
'ehdotus huomioitu ja uusi kohta lisätty',<br />
'ehdotus ei ole antanut aihetta muutoksiin', <br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun'<br />
)<br />
#liit_opt <- c(<br />
# 'tukee tai on linjassa',<br />
# 'vastustaa tai on ristiriidassa',<br />
# 'on neutraali suhteessa',<br />
# 'on uusi linjaus tai painotus'<br />
#)<br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (!is.null(liitsis)) rel <- rel[rel$Result %in% liitsis, ]<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = unique(c(<br />
as.character(rel$Sivu1), <br />
as.character(rel$Sivu2)<br />
)), <br />
versio = version, <br />
jae = unique(c(<br />
as.character(rel$JaeID1), <br />
as.character(rel$JaeID2)<br />
))<br />
)<br />
if (nrow(jakeet) == 0) stop("Relaatioissa listattuja jakeita ei löytynyt!")<br />
<br />
# Relaatiot<br />
if (nrow(rel[!(rel$Relaatio %in% sis_opt),]) > 0) {<br />
jakeet <- jakeet[c("Versio", "Sivu", "JaeID", "Result")]<br />
colnames(jakeet)[colnames(jakeet) == "JaeID"] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu"] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Jae1"<br />
rel <- rel[c("RelaatioID", "Versio", "Sivu1", "JaeID1", "Result", "Sivu2", "JaeID2")]<br />
colnames(rel)[colnames(rel) == "Result"] <- "Relaatio"<br />
out <- join(<br />
rel[(!(rel$Relaatio %in% sis_opt)) & rel$Versio %in% original_version,], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
out <- join(out, jakeet, match = "first")<br />
<br />
if(details) {<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
<br />
temp <- out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")]<br />
temp <- data.frame(<br />
Jae1 = paste(temp$Jae1, " (", temp$Sivu1, ")", sep = ""),<br />
Relaatio = temp$Relaatio,<br />
Jae2 = paste(temp$Jae2, " (", temp$Sivu2, ")", sep = "")<br />
)<br />
oprint(temp, <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
}<br />
} else {<br />
cat("Ei relaatioita!\n")<br />
}<br />
<br />
# Sisällytykset<br />
if (nrow(rel[(rel$Relaatio %in% sis_opt),]) > 0) {<br />
colnames(jakeet)[colnames(jakeet) %in% c("JaeID","JaeID2")] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Sivu", "Sivu2")] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Result", "Jae2")] <- "Jae1"<br />
colnames(rel)[colnames(rel) == "Relaatio"] <- "Sisällytys"<br />
out <- join(<br />
rel[rel$Sisällytys %in% sis_opt & rel$Versio %in% version[-length(version)],], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
jakeet$Versio <- as.numeric(as.character(jakeet$Versio)) - 1<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Sisällytys", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Sisällytys (uudempaan versioon)", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei sisällytyksiä!\n")<br />
}<br />
}<br />
</rcode><br />
<br />
=== Avainsana- ja relaatiotietojen analyysi ===<br />
<br />
'''Hae jakeita annetuilla kriteereillä ja vertaile avainsanojen ja relaatioiden lukumääriä. Halutessasi voit myös listata jaeosumat. Vapaakenttiin voi syöttää useita arvoja erottelemalla ne pilkuilla.'''<br />
<br />
Käytetyt avainsanat:<br />
{{piilotettu|<br />
3D-tulostus Aikataulut Ajoneuvokanta Alueellisuus <br />
alustus Ammattiryhmät Arvo Asutus <br />
Aurinko Automatisaatio Avoimuus Big Data <br />
Biopolttoaine Dataliikenne Digitalisoituminen Eettisyys <br />
eIDAS Elintaso Energia Epäselvä luokka <br />
Eriarvoisuus Erityisryhmät Esineiden internet Globaalius <br />
Globaaluis Henkilökortti Henkilötiedot Huutokauppa <br />
Hybridi Hybridi-TV Hyvinvointi Hyvinvointiyhteiskunta <br />
Häiriöt Ilmasto Infrastruktuuri Innovatiivisus <br />
Innovatiivisuus Internet Investoinnit Joukkoliikenne <br />
Joustavuus Julkinen valta Kaivosteollisuus Kansainvälisyys <br />
Kasvihuonekaasut Kaupallisuus Kaupungit Kehitys <br />
Kestävyys Kevyen liikenteen väylät Kevytliikenne Kiinteistöt <br />
Kilpailu Kilpailukyky Konesalit Konkreettisuus <br />
Kotimaisuus Koulutus Kunnat Kustannustehokkuus <br />
Kuuluvuus Kävely Laajakaista Lainsäädäntö <br />
Laiton tarjonta Langattomuus Lappi Lentoliikenne <br />
Liikenne Liikenneverkostot Liikkumistili Linja-autot <br />
Logistiikka Luonnonsuojelu Lämmitys Maakaasu <br />
Maatalous Mainonta Markkinat Massavalvonta <br />
Meriliikenne Metadata Mobiiliverkko Mopot <br />
Nopeus Ohjaus Ohjelmistot Ohjelmistotoimittaja <br />
Oikeusturva Omavaraisuus Operaattori Osaaminen <br />
Ostovoima Palaute Palvelut Palvelutaso <br />
Peruskunto Pilvipalvelut Polttoaine Posti <br />
Puelueettomuus Pysäköinti Pyöräily Päivitys <br />
Pääkaupunkiseutu Päästöt Päätöksenteko Päätös <br />
Raha Rahoitus Rahtliikenne Rajapinnat <br />
Rakennemuutos Rakentaminen Raskas liikenne Rautatiet <br />
Riippuvuus Rikokset Robotisaatio Ruuhkamaksu <br />
Ruuhkautuminen Saatavuus Sateliittipaikannus Sovellukset <br />
Strategia Suunnittelu Sähkö Sähköauto <br />
Sääntely Säästöt Talous Talouskasvu <br />
Tarpeet Tasa-arvo Tasapuolisuus Tasavertaisuus <br />
Tavaraliikenne Tehokkuus Tekijänoikeus Tekniikkaneutraalius <br />
Tekninen tuki Teknologia Teknologianeutraalius Teollisuus <br />
Terveydenhuolto Terveys testi Tiedon avoimuus <br />
Tiedon hallinnointi Tiedon hallinta Tiedon hyödyntäminen Tieliikenne <br />
Tietoliikenne Tietoturva Toimilupa Toiminta <br />
Toimintavarmuus Toimivuus Tuki Turvallisuus <br />
Turvaverkko Tutkimus Tuuli TV <br />
Työllisyys Työn tekemiseen liittyvä Ulkomaat Uudistus <br />
Vaihtoehtoiset polttoaineet Vaikuttaminen Vaikutus Vakuutus <br />
Valinnanvapaus Valtio Varmenne Varmuus <br />
Vastuu Verkostoituminen Verotus Vesiliikenne <br />
Vesiliikenne, Tasavertaisuus Viestintäverkot Viranomaiset Yhteensopivuus <br />
Yhteiskunta Yhteiskuntamurros Yhteistyö Yhteysnopeus <br />
Yksityisautoilu Yksityisyydensuoja YLE Yleispalvelu <br />
Yleisradio Ympäristö Yritykset Öljy <br />
}}<br />
<br />
<rcode label="Näytä tilastoja/jakeita" name="jae_stats" embed=1 graphics=1 variables="<br />
name:sivu|description:Minkä sivun jakeita haluat tarkastella?|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:avainsanat|description:Hae jakeita joilla on ainakin yksi seuraavista avainsanoista|type:text|<br />
name:avainsanat_all|description:Hae jakeita joilla on kaikki seuraavat avainsanat|type:text|<br />
name:jaelista|description:Haluatko nähdä kaikki löydetyt jakeet?|type:selection|options:FALSE;En;TRUE;Kyllä|default:FALSE|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
library(ggplot2)<br />
<br />
filter <- list()<br />
if (nchar(gsub(" ", "", avainsanat)) > 0) {<br />
avainsanat <- strsplit(avainsanat, ",")[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat) <br />
} else {<br />
avainsanat <- NULL<br />
}<br />
if (nchar(gsub(" ", "", avainsanat_all)) > 0) {<br />
avainsanat_all <- strsplit(avainsanat_all, ",")[[1]]<br />
avainsanat_all <- gsub("^\\s*|\\s*$", "", avainsanat_all)<br />
#filter$Avainsana <- avainsanat_all<br />
} else {<br />
avainsanat_all <- NULL<br />
}<br />
filter$Sivu <- sivu<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
filter$Versio <- version<br />
<br />
if (length(filter) == 0) filter <- NULL<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
jaeid <- NULL<br />
<br />
if (!is.null(avainsanat)|!is.null(avainsanat_all)) {<br />
tags <- tags[tags$Result %in% c(avainsanat, avainsanat_all), ]<br />
jaeid <- unique(as.character(tags$JaeID))<br />
}<br />
<br />
if(!is.null(avainsanat_all)) {<br />
temp <- list()<br />
for (i in 1:nrow(jaeid)) {<br />
temp[[i]] <- avainsanat_all %in% tags$Result[tags$JaeID == jaeid[i]]<br />
}<br />
temp <- lapply(temp, all)<br />
jaeid <- jaeid[temp]<br />
tags <- tags[tags$JaeID %in% jaeid,]<br />
}<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt.\n")<br />
}<br />
<br />
if (is.null(filter)) {<br />
filter2 <- list()<br />
} else {<br />
filter2 <- filter<br />
}<br />
<br />
filter2$JaeID <- jaeid<br />
<br />
if (length(filter2) == 0) filter2 <- NULL<br />
<br />
if (jaelista) {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = filter2$Sivu, # *list$non-existent returns NULL<br />
versio = filter2$Versio, <br />
jae = filter2$JaeID<br />
)<br />
if (nrow(jakeet) == 0) {<br />
cat("Avainsanoissa listattuja jakeita ei löytynyt.\n")<br />
} else {<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Sisältö"<br />
tagged <- NULL<br />
if (nrow(tags) > 0) {<br />
#tagged <- join(<br />
# jakeet[c("Versio", "Sivu", "Aihe", "JaeID")], <br />
# tags[c("Versio", "Sivu", "JaeID", "Result")]<br />
#)<br />
#colnames(tagged)[colnames(tagged) == "Result"] <- "Avainsana"<br />
tagged <- tapply(tags$Result, tags[c("Versio", "Sivu", "JaeID")], paste, collapse = ", ")<br />
tagged <- as.data.frame(as.table(tagged))<br />
colnames(tagged)[colnames(tagged) == "Freq"] <- "Avainsanat"<br />
tagged <- join(<br />
jakeet[c("Versio", "Sivu", "JaeID", "Sisältö")], <br />
tagged[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
type = "inner",<br />
match = "first"<br />
)<br />
oprint(<br />
tagged[c("Versio", "Sivu", "JaeID", "Sisältö", "Avainsanat")],<br />
caption = "Jakeet", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = rep(0, 6)<br />
)<br />
}<br />
}<br />
}<br />
<br />
if (nrow(tags) > 0) {<br />
tags_out <- ddply(tags, "Result", nrow)<br />
colnames(tags_out) <- c("Avainsana", "Lukumäärä")<br />
tags_out <- tags_out[order(tags_out$Lukumäärä, decreasing = TRUE),]<br />
oprint(<br />
tags_out,<br />
caption = "Avainsanojen lukumäärät", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = c(0, 0, 0)<br />
)<br />
ggplot(tags_out, aes(x = Avainsana, y = Lukumäärä, fill = Avainsana)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Avainsanojen frekvenssit")<br />
}<br />
<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter3 <- list()<br />
filter3$Sivu1 <- sivu<br />
filter3$Versio <- version<br />
filter3$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter3$JaeID1 <- NULL<br />
filter3$Sivu1 <- NULL<br />
filter3$JaeID2 <- jaeid<br />
filter3$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
related <- rel[<br />
rel$Result %in% c(<br />
"on neutraali suhteessa", <br />
"on uusi linjaus tai painotus", <br />
"tukee tai on linjassa", <br />
"vastustaa tai on ristiriidassa"<br />
), ]<br />
related$Result <- as.character(related$Result)<br />
affected <- rel[<br />
rel$Result %in% c(<br />
"ehdotus ei ole antanut aihetta muutoksiin",<br />
"ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun", <br />
"ehdotus huomioitu ja liittyvää painotusta muutettu",<br />
"ehdotus huomioitu ja uusi kohta lisätty"<br />
), ]<br />
affected$Result <- as.character(affected$Result)<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin"] <- "Ei aihetta muutoksiin"<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun"] <- "Sisältyy valmiiksi"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja liittyvää painotusta muutettu"] <- "Huomioitu painotuksella"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja uusi kohta lisätty"] <- "Huomioitu lisäyksellä"<br />
<br />
related_out <- ddply(related, "Result", nrow)<br />
colnames(related_out) <- c("Relaatio", "Lukumäärä")<br />
<br />
affected_out <- ddply(affected, "Result", nrow)<br />
colnames(affected_out) <- c("Sisällytys", "Lukumäärä")<br />
}<br />
<br />
if (nrow(related_out > 0)) {<br />
ggplot(related_out, aes(x = Relaatio, y = Lukumäärä, fill = Relaatio)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Relaatioiden frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
<br />
if (nrow(affected_out > 0)) {<br />
ggplot(affected_out, aes(x = Sisällytys, y = Lukumäärä, fill = Sisällytys)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Sisällytyksen frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
</rcode><br />
<br />
== Työkalut ==<br />
'''Aineiston työstämiseen tarkoitettuja koodeja.'''<br />
=== Jakeet ===<br />
==== Jaehakukone ====<br />
'''Hakee jakeita annetuilla kriteereillä. Näyttää myös tekniset sarakkeet. Vapaakenttiin voi laittaa useita arvoja erottelemalla ne pilkuilla.'''<br />
<rcode label="Näytä jakeet" name="jakeet" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Jakeita ei löytynyt!\n")<br />
}<br />
</rcode><br />
<br />
==== Jakeenlisäyskone ====<br />
'''Lisää tietokantaan vapaasti määriteltävän jakeen. Lisätyt jakeet näkyvät tämän sivun hakukoneissa. Niiden JaeID:llä on "L"-etuliite.'''<br />
<rcode label="Lisää jae" name="jakeenlisays" embed=1 variables="<br />
name:sivu|description:Sivu jolle jae lisätään|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:sisalto|description:Jakeen sisältö|type:textbox|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame( <br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
JaeID = NA,<br />
Result = sisalto<br />
)<br />
<br />
ident.subset <- paste(ident, "Jakeenlisaykset", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
filter$Sivu <- sivu<br />
<br />
upload_with_autoid(<br />
out,<br />
ident.subset,<br />
id_name = "JaeID",<br />
pagename = pagename,<br />
prefix = "L",<br />
filter = filter<br />
)<br />
</rcode><br />
<br />
==== Jakeenpoistokone ====<br />
'''Merkitsee jakeen epäkelvoksi, jolloin se jätetään näyttämättä kaikissa tämän sivun hakukoneissa.'''<br />
<rcode label="Poista jae" name="jakeenpoisto" embed=1 variables="<br />
name:sivu|description:Poistettavan jakeen sivu|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Poistettavan jakeen ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Tekninen jae';Tekninen jae;<br />
'Jae ei liity sivun aiheeseen';Jae ei liity sivun aiheeseen;<br />
'Jae on häiriköintiä';Jae on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jaeid <- strsplit(jaeid, ",", fixed = TRUE)[[1]]<br />
jaeid <- gsub(" ", "", jaeid)<br />
<br />
if (sum(nchar(jaeid)) == 0) stop("Anna jakeen ID")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame(<br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = as.character(jaeid)<br />
)<br />
<br />
opbase.upload(<br />
out, <br />
who = wiki_username, <br />
name = pagename,<br />
subset = "Jakeenpoistot",<br />
act_type = "append", <br />
language = "fin"<br />
)<br />
</rcode><br />
<br />
=== Avainsanat ===<br />
==== Avainsanahakukone ====<br />
'''Hakee jaekohtaisia avainsanoja. Näyttää datan sellaisena kuin se on tietokannassa.'''<br />
<rcode label="Näytä avainsanat" name="avainsanat_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka avainsanoja haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
out <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
==== Avainsanoitus ====<br />
'''Lisää tietokantaan annetut avainsanat. Avainanoja voidaan lisätä ruksaamalla annetusta listasta (vain yleisimmät) ja syöttämällä vapaakenttään pilkulla eroteltuna.'''<br />
<rcode label="Lisää avainsana" name="avainsananlisays" embed=1 variables="<br />
name:sivu|description:Minkä sivun jakeelle haluat lisätä avainsanoja?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Mikä on jakeen versio?|type:text|default:nykyinen|<br />
name:jae|description:Mikä on jakeen ID?|type:text|<br />
name:yl_avainsanat|description:Valitse alla olevasta listasta yleisiä avainsanoja.|type:checkbox|options:<br />
'Päätös';A Päätös (jae sisältää päätös- tai toimintaehdotuksen);<br />
'Vaikutus';B Vaikutus (jae kuvaa ilmiötä tai vaikutusta);<br />
'Arvo';C Arvo (jakeessa on arvoarvostelma tai kuvaa asian merkitystä);<br />
'Työn tekemiseen liittyvä';D Katsaustyön tekemiseen liittyvä;<br />
'Epäselvä luokka';E Ei mikään edellisistä (valitse ainakin yksi A-E)|<br />
name:avainsanat|description:Laita halutessasi yllä listaamattomattomia avainsanoja tähän pilkulla eroteltuna.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
avainsanat <- strsplit(avainsanat, ",", fixed = TRUE)[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat)<br />
avainsanat <- avainsanat[nchar(avainsanat) > 0]<br />
avainsanat <- c(yl_avainsanat, avainsanat)<br />
if (length(avainsanat) == 0) stop("Yhtään avainsanaa ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
AvainsanaID = NA, <br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Sivu = sivu,<br />
JaeID = as.character(jae), <br />
Result = avainsanat<br />
)<br />
<br />
ident.subset <- paste(ident, "Avainsanat", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "AvainsanaID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Avainsanojen lisääminen onnistui.\n")<br />
</rcode><br />
<br />
==== Avainsanan poisto ====<br />
'''Merkitsee avainsanan epäkelvoksi, jolloin tämän sivun hakukoneet eivät näytä sitä.'''<br />
<rcode name="avainsananpoisto" embed=1 label="Poista avainsana" showcode=0 variables="<br />
name:avid|description:Poistettavan avainsanan ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Avainsana ei päde uudessa versiossa';Avainsana ei päde uudessa versiossa;<br />
'Virheellinen avainsana';Virheellinen avainsana|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
avid <- strsplit(avid, ",", fixed = TRUE)[[1]]<br />
avid <- gsub(" ", "", avid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = avid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Avainsana poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
<br />
<br />
=== Relaatiot ===<br />
==== Relaatiohakukone ====<br />
'''Hakee relaatioita joissa mahdollisesti annetut jakeet esiintyvät. Näyttää datan sellaisena kuin se on tietokannassa.'''<br />
<rcode label="Näytä relaatiot" name="relaatiot_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka relaatioita haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
out <- rbind(rel1, rel2)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(<br />
out, <br />
include.rownames = FALSE,<br />
caption = "Relaatiot", <br />
caption.placement = "top"<br />
)<br />
} else {<br />
cat("Relaatioita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
==== Relaation lisääminen ====<br />
'''Lisää uuden relaation tietokantaan. Samantyyppisiä relaatioita voi kerralla lisätä useita, kun erottelee JaeID:t pilkuilla: relaatiot määräytyvät kaikki yhteen, yksi kaikkiin tai yksi yhteen. '''<br />
<rcode label="Lisää relaatio" name="relaatio" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:nykyinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID?|type:text|<br />
name:relaatio|description:'''Kuinka lähtöjae liittyy kohdejakeeseen?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'tukee tai on linjassa';tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';on neutraali suhteessa;<br />
'on uusi linjaus tai painotus';on uusi linjaus tai painotus;<br />
'kuuluu ryhmään/kokoelmaan';kuuluu ryhmään/kokoelmaan|<br />
name:lisarelaatio|description:VAPAAEHTOINEN Voit antaa oman jakeiden välisen relaation vapaakenttään.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
relaatio <- ifelse(lisarelaatio == '', relaatio, lisarelaatio)<br />
if (nchar(gsub(" ", "", relaatio)) == 0) stop("Relaatiota ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = relaatio<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Relaation lisääminen onnistui.\n")<br />
<br />
</rcode><br />
==== Sisällytyksen lisääminen ====<br />
'''Lisää uuden sisällytyksen tietokantaan. Sisällytys tapahtuu aina seuraavaan versioon. Samantyyppisiä sisällytyksiä voi kerralla lisätä useita, kun erottelee JaeID:t pilkuilla: sisällytykset voi tehdä kaikki yhteen, yksi kaikkiin tai yksi yhteen. '''<br />
<rcode label="Lisää sisällytys" name="sisallytys" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:edellinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID (uudemmassa versiossa)?|type:text|<br />
name:sisallytys|description:'''Sisällytettiinkö ehdotus uudempaan versioon?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun;<br />
'ehdotus ei ole antanut aihetta muutoksiin';ehdotus ei ole antanut aihetta muutoksiin|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
if (nchar(gsub(" ", "", sisallytys)) == 0) stop("Sisällytyksen tyyppiä ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "edellinen") {<br />
version <- get_current_version(ident) - 1<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = sisallytys<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Sisällytyksen lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
==== Relaation poisto ====<br />
'''Merkitsee relaation/sisällytyksen epäkelvoksi, jolloin tämän sivun hakukoneet eivät näytä sitä.'''<br />
<rcode name="relaationpoisto" embed=1 label="Poista relaatio" showcode=0 variables="<br />
name:relid|description:Poistettavan relaation ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Relaatio ei päde uudessa versiossa';Relaatio ei päde uudessa versiossa;<br />
'Virheellinen relaatio';Virheellinen relaatio|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
relid <- strsplit(relid, ",", fixed = TRUE)[[1]]<br />
relid <- gsub(" ", "", relid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = relid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Relaatio poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Sulautus (automaattinen sisällytys) ===<br />
'''Etsii edellisestä versiosta jakeita joiden sisältö löytyy uudessa versiossa jonkin jakeen sisällöstä. Koodi on keskeneräinen johtuen R:n peruskirjaston sisäisestä bugista joka estää samanaikaisen approksimaalisen että osittaisen osuman haun.''' <br />
{{tuloslinkki}}<br />
<br />
<rcode label="Etsi sulautuksia" name="sulautus" embed=0 variables="<br />
name:sivu|description:Sivut joihin sulautus tehdään (kaikista edellisen version jakeista)|type:checkbox|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:toleranssi|description:Toleranssi (Levenshtein distance)|default:5|<br />
name:tallenna|description:Tallenna kantaan|type:selection|options:TRUE;Kyllä;FALSE;Ei|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
mdat <- get_meta_data(ident)<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
version <- c(version - 1, version)<br />
<br />
jakeet <- jaehakukone(ident, versio = version)<br />
<br />
ver1 <- jakeet[jakeet$Versio == version[1],]<br />
ver2 <- jakeet[jakeet$Versio == version[2] & jakeet$Sivu == sivu,]<br />
<br />
# adist too slow<br />
d <- adist(<br />
ver1$Result, <br />
ver2$Result,<br />
fixed = FALSE<br />
)<br />
d[is.na(d)] <- Inf<br />
#d_min <- apply(d, 1, min)<br />
#d_tol <- d <= toleranssi<br />
#d_out <- apply(d, 1, which.min)<br />
<br />
colnames(ver1)[colnames(ver1) == "Versio"] <- "Versio1"<br />
colnames(ver1)[colnames(ver1) == "Sivu"] <- "Sivu1"<br />
colnames(ver1)[colnames(ver1) == "JaeID"] <- "JaeID1"<br />
colnames(ver1)[colnames(ver1) == "Result"] <- "Result1"<br />
<br />
colnames(ver2)[colnames(ver2) == "Versio"] <- "Versio2"<br />
colnames(ver2)[colnames(ver2) == "Sivu"] <- "Sivu2"<br />
colnames(ver2)[colnames(ver2) == "JaeID"] <- "JaeID2"<br />
colnames(ver2)[colnames(ver2) == "Result"] <- "Result2"<br />
<br />
#out <- cbind(ver1[d_min <= toleranssi, ], ver2[d_out[d_min <= toleranssi], ])<br />
<br />
d <- alply(d, 1, I)<br />
d_tol <- llply(d, function(x) {x <= toleranssi})<br />
d_reps <- laply(d_tol, sum)<br />
d_w <- llply(d_tol, which)<br />
d_w <- unlist(d_w)<br />
<br />
out <- cbind(ver1[rep(1:nrow(ver1), d_reps),], ver2[d_w, ])<br />
<br />
#d <- NULL<br />
#n <- NULL<br />
#for (i in 1:nrow(ver1)) {<br />
# for (j in split(ver2$Result, ceiling((1:nrow(ver2)) / 100))) {<br />
# temp <- agrep(ver1$Result[i], j, toleranssi)<br />
# d <- append(d, temp)<br />
# n <- append(n, length(temp))<br />
# }<br />
#}<br />
<br />
#out <- cbind(<br />
# ver1[rep(1:nrow(ver1), n),],<br />
# ver2[d,]<br />
#)<br />
if (tallenna) {<br />
opbase.upload(<br />
out,<br />
name = pagename,<br />
who = wiki_username,<br />
subset = "Sulautukset"<br />
)<br />
} else { <br />
oprint(<br />
out, <br />
include.rownames = FALSE, <br />
digits = rep(0, ncol(out) + 1), <br />
caption("Sulautus uuteen versioon"), <br />
caption.placement = "top",<br />
show.all = TRUE<br />
)<br />
}<br />
</rcode><br />
<br />
== Versiot ==<br />
'''Alla olevassa taulukossa on listattuna hankkeeseen kuuluvat sivut versiokohtaisesti. Tätä taulukkoa käytetään lähes kaikissa tämän sivun hakukoneissa määrittämään nykyinen versio (jokaista sivua kohden on lisättävä uusi rivi aina kun uusi versio luodaan, sikäli kun sivu on vielä mukana hankkeessa) sekä haettaessa kommentteja sivukohtaisista tietokannoista. Periaatteessa taulukkoa myös käytettäisiin määrittelemään sivujen versiokohtaiset revisiot (päivitysajankohtaiset sivut) wiki-jakeiden konelukemista varten, mutta koska tässä hankkeessa suurin osa työstä tehtiin ennen viimeistä versiota niin tätä toiminnallisuutta ei voida käyttää koska JaeID:t menisivät sekaisin.'''<br />
<t2b name="Versiot" index="Versio,Sivu,Ident" unit="OldID"><br />
1|Liikenne ja viestintä palveluna|Op_fi4248|<br />
1|Liikenteen palvelumarkkinat|Op_fi4253|<br />
1|Liikenteen energiareformi|Op_fi4254|<br />
1|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
1|Monipuoliset sisällöt|Op_fi4256|<br />
1|Oma Painotus Teema I|Op_fi4257|<br />
1|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
1|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
1|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
1|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
1|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
1|Oma Painotus Teema II|Op_fi4262|<br />
1|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
1|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
1|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
1|Arktinen strategia|Op_fi4265|<br />
1|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
1|Oma Painotus Teema III|Op_fi4267|<br />
1|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
2|Liikenne ja viestintä palveluna|Op_fi4248|<br />
2|Liikenteen palvelumarkkinat|Op_fi4253|<br />
2|Liikenteen energiareformi|Op_fi4254|<br />
2|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
2|Monipuoliset sisällöt|Op_fi4256|<br />
2|Oma Painotus Teema I|Op_fi4257|<br />
2|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
2|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
2|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
2|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
2|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
2|Oma Painotus Teema II|Op_fi4262|<br />
2|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
2|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
2|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
2|Arktinen strategia|Op_fi4265|<br />
2|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
2|Oma Painotus Teema III|Op_fi4267|<br />
2|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
</t2b></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Liikenne_ja_viestint%C3%A4_digitaalisessa_Suomessa_2020/Sis%C3%A4ll%C3%B6nanalyysi&diff=25991
Liikenne ja viestintä digitaalisessa Suomessa 2020/Sisällönanalyysi
2014-08-27T11:48:46Z
<p>Teemu R: /* Käyttöohje */</p>
<hr />
<div>{{LVM}}<br />
<br />
'''Tällä sivulla voit tarkastella liikenneministeriön tulevaisuuskatsauksen sisältöä ja kansalaisten antamien kommenttien suhdetta siihen. <br />
Alla olevilla työkaluilla voit hakea tekstin jakeita eli erillisiä tekstikappaleita ja niihin liittyviä avainsanoja tai muita jakeita. Relaatiot tarkoittavat kuvailua siitä, millä tavalla kaksi jaetta liittyy toisiinsa.'''<br />
<br />
= Tägikone =<br />
{{tuloslinkki}}<br />
== Käyttöohje ==<br />
Tägikoneen idea on pitää yllä jaetietokantaa ja määritellään jakeille avainsanoja ja relaatoita joiden tarkoitus on rikastaa sivustolla käydystä keskustelusta analyysikelpoista yleisemmän tason tietoa. <br /><br />
<br />
'''[[#Jakeet]] määritellään koodilla joka lukee wikisivuilta tekstiä kappaleittain (myös taulukot ja bullet pointit). Jakeisiin lisätään myös kommentointityökalulla tehdyt kommentit, joita ei vielä ole siirretty wikitekstiin, sekä tämän sivun [[#Jakeenlisäyskone|koodilla lisätyt jakeet]]. Kullakin jakeella on oma tunniste (JaeID) joka on sivukohtainen. Etsimällä [[#Jaehakukone|jaehakukoneesta]] oman kommenttisi ja kopioimalla JaeID:n muihin sivun hakukoneisiin voit tarkastella kommenttiisi liitettyjä tägitietoja.'''<br /><br />
<br />
'''[[#Avainsanat]] ovat jaekohtaisia ja ne lisätään yleensä käsityönä. [[#Avainsanoitus|Avainsanoituksen]] tekee joko kommentoija itse tai moderaattori.'''<br /><br />
<br />
'''[[#Relaatiot]] voidaan määritellä kahden jakeen välille (myös käsityötä). [[#Relaation lisääminen|Relaatiot lisää]] joko kommentoija itse tai moderaattori.'''<br /><br />
<br />
'''[[#Versiot]] - wikisivuja päivitetään mahdollisesti jatkuvasti, minkä johdosta versiointi on tarpeellista. Koska jakeet ovat versiokohtaisia niin avainsanat ja relaatiot ovat myös versiokohtaisia. Avainsanojen ja relaatioiden automaattista periytymistä on kehitetty, mutta koodi on vielä kesken [[#Sulautus (automaattinen sisällytys)]].'''<br />
<br />
== Yhdistelmähakukoneet ==<br />
=== Jaekohtainen avainsanalistaus ===<br />
'''Hakee jakeita ja näyttää kaikki niihin liittyvät avainsanat'''<br />
<rcode label="Hae" name="avainsanat_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) == 0) {<br />
stop("Jakeita ei löytynyt!")<br />
}<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
} else {<br />
# Yhdistetään kunkin jakeen avainsanat yhdelle riville<br />
tags <- ddply(<br />
tags, <br />
c("Versio", "Sivu", "JaeID"), <br />
function(x) {a <- x[1,];a$Avainsanat <- paste(x$Result, collapse = ", ");return(a)}<br />
)<br />
<br />
out <- join(<br />
out[c("Versio", "Sivu", "JaeID", "Result")],<br />
tags[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
by = c("Versio", "Sivu", "JaeID"),<br />
type = "inner",<br />
match = "first"<br />
)<br />
<br />
# Jos annettiin vain yksi versio ja/tai sivu niin niitä ei tarvitse printata<br />
filter_ind <- NULL<br />
if (length(version) != 1) filter_ind <- c(filter_ind, "Versio")<br />
if (length(sivu) != 1) filter_ind <- c(filter_ind, "Sivu")<br />
filter_ind <- c(filter_ind, "JaeID")<br />
<br />
oprint(<br />
out[c(filter_ind, "Result", "Avainsanat")], <br />
include.rownames = FALSE, <br />
show_all = TRUE<br />
)<br />
}<br />
</rcode><br />
<br />
=== Jae-relaatio-jae listaus ===<br />
'''Hakee jakeita ja niihin liittyviä toisia jakeita listaten myös relaation tyypin'''<br />
<rcode label="Hae" name="relaatiot_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta relaatioita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:liitsis|description:Liittymistyyppi (tyhjä = kaikki)|type:checkbox|options:<br />
'tukee tai on linjassa';Tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';Vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';On neutraali suhteessa;<br />
'on uusi linjaus tai painotus';On uusi linjaus tai painotus;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';Ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';Ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin';Ehdotus ei ole antanut aihetta muutoksiin;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';Ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:details|description:Näytetäänkö tekniset yksityiskohdat?|type:selection|options:FALSE;Ei, vain jakeiden sisältö;TRUE;Kyllä, myös jakeiden numerot|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
# Eri sisältymistyypit pitää määritellä niin että ne voidaan käsitellä erillään muista relaatioista<br />
sis_opt <- c(<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu',<br />
'ehdotus huomioitu ja uusi kohta lisätty',<br />
'ehdotus ei ole antanut aihetta muutoksiin', <br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun'<br />
)<br />
#liit_opt <- c(<br />
# 'tukee tai on linjassa',<br />
# 'vastustaa tai on ristiriidassa',<br />
# 'on neutraali suhteessa',<br />
# 'on uusi linjaus tai painotus'<br />
#)<br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (!is.null(liitsis)) rel <- rel[rel$Result %in% liitsis, ]<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = unique(c(<br />
as.character(rel$Sivu1), <br />
as.character(rel$Sivu2)<br />
)), <br />
versio = version, <br />
jae = unique(c(<br />
as.character(rel$JaeID1), <br />
as.character(rel$JaeID2)<br />
))<br />
)<br />
if (nrow(jakeet) == 0) stop("Relaatioissa listattuja jakeita ei löytynyt!")<br />
<br />
# Relaatiot<br />
if (nrow(rel[!(rel$Relaatio %in% sis_opt),]) > 0) {<br />
jakeet <- jakeet[c("Versio", "Sivu", "JaeID", "Result")]<br />
colnames(jakeet)[colnames(jakeet) == "JaeID"] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu"] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Jae1"<br />
rel <- rel[c("RelaatioID", "Versio", "Sivu1", "JaeID1", "Result", "Sivu2", "JaeID2")]<br />
colnames(rel)[colnames(rel) == "Result"] <- "Relaatio"<br />
out <- join(<br />
rel[(!(rel$Relaatio %in% sis_opt)) & rel$Versio %in% original_version,], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
out <- join(out, jakeet, match = "first")<br />
<br />
if(details) {<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
<br />
temp <- out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")]<br />
temp <- data.frame(<br />
Jae1 = paste(temp$Jae1, " (", temp$Sivu1, ")", sep = ""),<br />
Relaatio = temp$Relaatio,<br />
Jae2 = paste(temp$Jae2, " (", temp$Sivu2, ")", sep = "")<br />
)<br />
oprint(temp, <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
}<br />
} else {<br />
cat("Ei relaatioita!\n")<br />
}<br />
<br />
# Sisällytykset<br />
if (nrow(rel[(rel$Relaatio %in% sis_opt),]) > 0) {<br />
colnames(jakeet)[colnames(jakeet) %in% c("JaeID","JaeID2")] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Sivu", "Sivu2")] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Result", "Jae2")] <- "Jae1"<br />
colnames(rel)[colnames(rel) == "Relaatio"] <- "Sisällytys"<br />
out <- join(<br />
rel[rel$Sisällytys %in% sis_opt & rel$Versio %in% version[-length(version)],], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
jakeet$Versio <- as.numeric(as.character(jakeet$Versio)) - 1<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Sisällytys", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Sisällytys (uudempaan versioon)", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei sisällytyksiä!\n")<br />
}<br />
}<br />
</rcode><br />
<br />
=== Avainsana- ja relaatiotietojen analyysi ===<br />
<br />
'''Hae jakeita annetuilla kriteereillä ja vertaile avainsanojen ja relaatioiden lukumääriä. Halutessasi voit myös listata jaeosumat. Vapaakenttiin voi syöttää useita arvoja erottelemalla ne pilkuilla.'''<br />
<br />
Käytetyt avainsanat:<br />
{{piilotettu|<br />
3D-tulostus Aikataulut Ajoneuvokanta Alueellisuus <br />
alustus Ammattiryhmät Arvo Asutus <br />
Aurinko Automatisaatio Avoimuus Big Data <br />
Biopolttoaine Dataliikenne Digitalisoituminen Eettisyys <br />
eIDAS Elintaso Energia Epäselvä luokka <br />
Eriarvoisuus Erityisryhmät Esineiden internet Globaalius <br />
Globaaluis Henkilökortti Henkilötiedot Huutokauppa <br />
Hybridi Hybridi-TV Hyvinvointi Hyvinvointiyhteiskunta <br />
Häiriöt Ilmasto Infrastruktuuri Innovatiivisus <br />
Innovatiivisuus Internet Investoinnit Joukkoliikenne <br />
Joustavuus Julkinen valta Kaivosteollisuus Kansainvälisyys <br />
Kasvihuonekaasut Kaupallisuus Kaupungit Kehitys <br />
Kestävyys Kevyen liikenteen väylät Kevytliikenne Kiinteistöt <br />
Kilpailu Kilpailukyky Konesalit Konkreettisuus <br />
Kotimaisuus Koulutus Kunnat Kustannustehokkuus <br />
Kuuluvuus Kävely Laajakaista Lainsäädäntö <br />
Laiton tarjonta Langattomuus Lappi Lentoliikenne <br />
Liikenne Liikenneverkostot Liikkumistili Linja-autot <br />
Logistiikka Luonnonsuojelu Lämmitys Maakaasu <br />
Maatalous Mainonta Markkinat Massavalvonta <br />
Meriliikenne Metadata Mobiiliverkko Mopot <br />
Nopeus Ohjaus Ohjelmistot Ohjelmistotoimittaja <br />
Oikeusturva Omavaraisuus Operaattori Osaaminen <br />
Ostovoima Palaute Palvelut Palvelutaso <br />
Peruskunto Pilvipalvelut Polttoaine Posti <br />
Puelueettomuus Pysäköinti Pyöräily Päivitys <br />
Pääkaupunkiseutu Päästöt Päätöksenteko Päätös <br />
Raha Rahoitus Rahtliikenne Rajapinnat <br />
Rakennemuutos Rakentaminen Raskas liikenne Rautatiet <br />
Riippuvuus Rikokset Robotisaatio Ruuhkamaksu <br />
Ruuhkautuminen Saatavuus Sateliittipaikannus Sovellukset <br />
Strategia Suunnittelu Sähkö Sähköauto <br />
Sääntely Säästöt Talous Talouskasvu <br />
Tarpeet Tasa-arvo Tasapuolisuus Tasavertaisuus <br />
Tavaraliikenne Tehokkuus Tekijänoikeus Tekniikkaneutraalius <br />
Tekninen tuki Teknologia Teknologianeutraalius Teollisuus <br />
Terveydenhuolto Terveys testi Tiedon avoimuus <br />
Tiedon hallinnointi Tiedon hallinta Tiedon hyödyntäminen Tieliikenne <br />
Tietoliikenne Tietoturva Toimilupa Toiminta <br />
Toimintavarmuus Toimivuus Tuki Turvallisuus <br />
Turvaverkko Tutkimus Tuuli TV <br />
Työllisyys Työn tekemiseen liittyvä Ulkomaat Uudistus <br />
Vaihtoehtoiset polttoaineet Vaikuttaminen Vaikutus Vakuutus <br />
Valinnanvapaus Valtio Varmenne Varmuus <br />
Vastuu Verkostoituminen Verotus Vesiliikenne <br />
Vesiliikenne, Tasavertaisuus Viestintäverkot Viranomaiset Yhteensopivuus <br />
Yhteiskunta Yhteiskuntamurros Yhteistyö Yhteysnopeus <br />
Yksityisautoilu Yksityisyydensuoja YLE Yleispalvelu <br />
Yleisradio Ympäristö Yritykset Öljy <br />
}}<br />
<br />
<rcode label="Näytä tilastoja/jakeita" name="jae_stats" embed=1 graphics=1 variables="<br />
name:sivu|description:Minkä sivun jakeita haluat tarkastella?|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:avainsanat|description:Hae jakeita joilla on ainakin yksi seuraavista avainsanoista|type:text|<br />
name:avainsanat_all|description:Hae jakeita joilla on kaikki seuraavat avainsanat|type:text|<br />
name:jaelista|description:Haluatko nähdä kaikki löydetyt jakeet?|type:selection|options:FALSE;En;TRUE;Kyllä|default:FALSE|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
library(ggplot2)<br />
<br />
filter <- list()<br />
if (nchar(gsub(" ", "", avainsanat)) > 0) {<br />
avainsanat <- strsplit(avainsanat, ",")[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat) <br />
} else {<br />
avainsanat <- NULL<br />
}<br />
if (nchar(gsub(" ", "", avainsanat_all)) > 0) {<br />
avainsanat_all <- strsplit(avainsanat_all, ",")[[1]]<br />
avainsanat_all <- gsub("^\\s*|\\s*$", "", avainsanat_all)<br />
#filter$Avainsana <- avainsanat_all<br />
} else {<br />
avainsanat_all <- NULL<br />
}<br />
filter$Sivu <- sivu<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
filter$Versio <- version<br />
<br />
if (length(filter) == 0) filter <- NULL<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
jaeid <- NULL<br />
<br />
if (!is.null(avainsanat)|!is.null(avainsanat_all)) {<br />
tags <- tags[tags$Result %in% c(avainsanat, avainsanat_all), ]<br />
jaeid <- unique(as.character(tags$JaeID))<br />
}<br />
<br />
if(!is.null(avainsanat_all)) {<br />
temp <- list()<br />
for (i in 1:nrow(jaeid)) {<br />
temp[[i]] <- avainsanat_all %in% tags$Result[tags$JaeID == jaeid[i]]<br />
}<br />
temp <- lapply(temp, all)<br />
jaeid <- jaeid[temp]<br />
tags <- tags[tags$JaeID %in% jaeid,]<br />
}<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt.\n")<br />
}<br />
<br />
if (is.null(filter)) {<br />
filter2 <- list()<br />
} else {<br />
filter2 <- filter<br />
}<br />
<br />
filter2$JaeID <- jaeid<br />
<br />
if (length(filter2) == 0) filter2 <- NULL<br />
<br />
if (jaelista) {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = filter2$Sivu, # *list$non-existent returns NULL<br />
versio = filter2$Versio, <br />
jae = filter2$JaeID<br />
)<br />
if (nrow(jakeet) == 0) {<br />
cat("Avainsanoissa listattuja jakeita ei löytynyt.\n")<br />
} else {<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Sisältö"<br />
tagged <- NULL<br />
if (nrow(tags) > 0) {<br />
#tagged <- join(<br />
# jakeet[c("Versio", "Sivu", "Aihe", "JaeID")], <br />
# tags[c("Versio", "Sivu", "JaeID", "Result")]<br />
#)<br />
#colnames(tagged)[colnames(tagged) == "Result"] <- "Avainsana"<br />
tagged <- tapply(tags$Result, tags[c("Versio", "Sivu", "JaeID")], paste, collapse = ", ")<br />
tagged <- as.data.frame(as.table(tagged))<br />
colnames(tagged)[colnames(tagged) == "Freq"] <- "Avainsanat"<br />
tagged <- join(<br />
jakeet[c("Versio", "Sivu", "JaeID", "Sisältö")], <br />
tagged[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
type = "inner",<br />
match = "first"<br />
)<br />
oprint(<br />
tagged[c("Versio", "Sivu", "JaeID", "Sisältö", "Avainsanat")],<br />
caption = "Jakeet", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = rep(0, 6)<br />
)<br />
}<br />
}<br />
}<br />
<br />
if (nrow(tags) > 0) {<br />
tags_out <- ddply(tags, "Result", nrow)<br />
colnames(tags_out) <- c("Avainsana", "Lukumäärä")<br />
tags_out <- tags_out[order(tags_out$Lukumäärä, decreasing = TRUE),]<br />
oprint(<br />
tags_out,<br />
caption = "Avainsanojen lukumäärät", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = c(0, 0, 0)<br />
)<br />
ggplot(tags_out, aes(x = Avainsana, y = Lukumäärä, fill = Avainsana)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Avainsanojen frekvenssit")<br />
}<br />
<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter3 <- list()<br />
filter3$Sivu1 <- sivu<br />
filter3$Versio <- version<br />
filter3$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter3$JaeID1 <- NULL<br />
filter3$Sivu1 <- NULL<br />
filter3$JaeID2 <- jaeid<br />
filter3$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
related <- rel[<br />
rel$Result %in% c(<br />
"on neutraali suhteessa", <br />
"on uusi linjaus tai painotus", <br />
"tukee tai on linjassa", <br />
"vastustaa tai on ristiriidassa"<br />
), ]<br />
related$Result <- as.character(related$Result)<br />
affected <- rel[<br />
rel$Result %in% c(<br />
"ehdotus ei ole antanut aihetta muutoksiin",<br />
"ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun", <br />
"ehdotus huomioitu ja liittyvää painotusta muutettu",<br />
"ehdotus huomioitu ja uusi kohta lisätty"<br />
), ]<br />
affected$Result <- as.character(affected$Result)<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin"] <- "Ei aihetta muutoksiin"<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun"] <- "Sisältyy valmiiksi"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja liittyvää painotusta muutettu"] <- "Huomioitu painotuksella"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja uusi kohta lisätty"] <- "Huomioitu lisäyksellä"<br />
<br />
related_out <- ddply(related, "Result", nrow)<br />
colnames(related_out) <- c("Relaatio", "Lukumäärä")<br />
<br />
affected_out <- ddply(affected, "Result", nrow)<br />
colnames(affected_out) <- c("Sisällytys", "Lukumäärä")<br />
}<br />
<br />
if (nrow(related_out > 0)) {<br />
ggplot(related_out, aes(x = Relaatio, y = Lukumäärä, fill = Relaatio)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Relaatioiden frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
<br />
if (nrow(affected_out > 0)) {<br />
ggplot(affected_out, aes(x = Sisällytys, y = Lukumäärä, fill = Sisällytys)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Sisällytyksen frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
</rcode><br />
<br />
== Työkalut ==<br />
'''Aineiston työstämiseen tarkoitettuja koodeja.'''<br />
=== Jakeet ===<br />
==== Jaehakukone ====<br />
'''Hakee jakeita annetuilla kriteereillä. Näyttää myös tekniset sarakkeet. Vapaakenttiin voi laittaa useita arvoja erottelemalla ne pilkuilla.'''<br />
<rcode label="Näytä jakeet" name="jakeet" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Jakeita ei löytynyt!\n")<br />
}<br />
</rcode><br />
<br />
==== Jakeenlisäyskone ====<br />
'''Lisää tietokantaan vapaasti määriteltävän jakeen. Lisätyt jakeet näkyvät tämän sivun hakukoneissa. Niiden JaeID:llä on "L"-etuliite.'''<br />
<rcode label="Lisää jae" name="jakeenlisays" embed=1 variables="<br />
name:sivu|description:Sivu jolle jae lisätään|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:sisalto|description:Jakeen sisältö|type:textbox|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame( <br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
JaeID = NA,<br />
Result = sisalto<br />
)<br />
<br />
ident.subset <- paste(ident, "Jakeenlisaykset", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
filter$Sivu <- sivu<br />
<br />
upload_with_autoid(<br />
out,<br />
ident.subset,<br />
id_name = "JaeID",<br />
pagename = pagename,<br />
prefix = "L",<br />
filter = filter<br />
)<br />
</rcode><br />
<br />
==== Jakeenpoistokone ====<br />
'''Merkitsee jakeen epäkelvoksi, jolloin se jätetään näyttämättä kaikissa tämän sivun hakukoneissa.'''<br />
<rcode label="Poista jae" name="jakeenpoisto" embed=1 variables="<br />
name:sivu|description:Poistettavan jakeen sivu|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Poistettavan jakeen ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Tekninen jae';Tekninen jae;<br />
'Jae ei liity sivun aiheeseen';Jae ei liity sivun aiheeseen;<br />
'Jae on häiriköintiä';Jae on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jaeid <- strsplit(jaeid, ",", fixed = TRUE)[[1]]<br />
jaeid <- gsub(" ", "", jaeid)<br />
<br />
if (sum(nchar(jaeid)) == 0) stop("Anna jakeen ID")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame(<br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = as.character(jaeid)<br />
)<br />
<br />
opbase.upload(<br />
out, <br />
who = wiki_username, <br />
name = pagename,<br />
subset = "Jakeenpoistot",<br />
act_type = "append", <br />
language = "fin"<br />
)<br />
</rcode><br />
<br />
=== Avainsanat ===<br />
==== Avainsanahakukone ====<br />
'''Hakee jaekohtaisia avainsanoja. Näyttää datan sellaisena kuin se on tietokannassa.'''<br />
<rcode label="Näytä avainsanat" name="avainsanat_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka avainsanoja haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
out <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
==== Avainsanoitus ====<br />
'''Lisää tietokantaan annetut avainsanat. Avainanoja voidaan lisätä ruksaamalla annetusta listasta (vain yleisimmät) ja syöttämällä vapaakenttään pilkulla eroteltuna.'''<br />
<rcode label="Lisää avainsana" name="avainsananlisays" embed=1 variables="<br />
name:sivu|description:Minkä sivun jakeelle haluat lisätä avainsanoja?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Mikä on jakeen versio?|type:text|default:nykyinen|<br />
name:jae|description:Mikä on jakeen ID?|type:text|<br />
name:yl_avainsanat|description:Valitse alla olevasta listasta yleisiä avainsanoja.|type:checkbox|options:<br />
'Päätös';A Päätös (jae sisältää päätös- tai toimintaehdotuksen);<br />
'Vaikutus';B Vaikutus (jae kuvaa ilmiötä tai vaikutusta);<br />
'Arvo';C Arvo (jakeessa on arvoarvostelma tai kuvaa asian merkitystä);<br />
'Työn tekemiseen liittyvä';D Katsaustyön tekemiseen liittyvä;<br />
'Epäselvä luokka';E Ei mikään edellisistä (valitse ainakin yksi A-E)|<br />
name:avainsanat|description:Laita halutessasi yllä listaamattomattomia avainsanoja tähän pilkulla eroteltuna.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
avainsanat <- strsplit(avainsanat, ",", fixed = TRUE)[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat)<br />
avainsanat <- avainsanat[nchar(avainsanat) > 0]<br />
avainsanat <- c(yl_avainsanat, avainsanat)<br />
if (length(avainsanat) == 0) stop("Yhtään avainsanaa ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
AvainsanaID = NA, <br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Sivu = sivu,<br />
JaeID = as.character(jae), <br />
Result = avainsanat<br />
)<br />
<br />
ident.subset <- paste(ident, "Avainsanat", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "AvainsanaID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Avainsanojen lisääminen onnistui.\n")<br />
</rcode><br />
<br />
==== Avainsanan poisto ====<br />
'''Merkitsee avainsanan epäkelvoksi, jolloin tämän sivun hakukoneet eivät näytä sitä.'''<br />
<rcode name="avainsananpoisto" embed=1 label="Poista avainsana" showcode=0 variables="<br />
name:avid|description:Poistettavan avainsanan ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Avainsana ei päde uudessa versiossa';Avainsana ei päde uudessa versiossa;<br />
'Virheellinen avainsana';Virheellinen avainsana|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
avid <- strsplit(avid, ",", fixed = TRUE)[[1]]<br />
avid <- gsub(" ", "", avid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = avid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Avainsana poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
<br />
<br />
=== Relaatiot ===<br />
==== Relaatiohakukone ====<br />
'''Hakee relaatioita joissa mahdollisesti annetut jakeet esiintyvät. Näyttää datan sellaisena kuin se on tietokannassa.'''<br />
<rcode label="Näytä relaatiot" name="relaatiot_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka relaatioita haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
out <- rbind(rel1, rel2)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(<br />
out, <br />
include.rownames = FALSE,<br />
caption = "Relaatiot", <br />
caption.placement = "top"<br />
)<br />
} else {<br />
cat("Relaatioita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
==== Relaation lisääminen ====<br />
'''Lisää uuden relaation tietokantaan. Samantyyppisiä relaatioita voi kerralla lisätä useita, kun erottelee JaeID:t pilkuilla: relaatiot määräytyvät kaikki yhteen, yksi kaikkiin tai yksi yhteen. '''<br />
<rcode label="Lisää relaatio" name="relaatio" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:nykyinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID?|type:text|<br />
name:relaatio|description:'''Kuinka lähtöjae liittyy kohdejakeeseen?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'tukee tai on linjassa';tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';on neutraali suhteessa;<br />
'on uusi linjaus tai painotus';on uusi linjaus tai painotus;<br />
'kuuluu ryhmään/kokoelmaan';kuuluu ryhmään/kokoelmaan|<br />
name:lisarelaatio|description:VAPAAEHTOINEN Voit antaa oman jakeiden välisen relaation vapaakenttään.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
relaatio <- ifelse(lisarelaatio == '', relaatio, lisarelaatio)<br />
if (nchar(gsub(" ", "", relaatio)) == 0) stop("Relaatiota ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = relaatio<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Relaation lisääminen onnistui.\n")<br />
<br />
</rcode><br />
==== Sisällytyksen lisääminen ====<br />
'''Lisää uuden sisällytyksen tietokantaan. Sisällytys tapahtuu aina seuraavaan versioon. Samantyyppisiä sisällytyksiä voi kerralla lisätä useita, kun erottelee JaeID:t pilkuilla: sisällytykset määräytyvät kaikki yhteen, yksi kaikkiin tai yksi yhteen. '''<br />
<rcode label="Lisää sisällytys" name="sisallytys" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:edellinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID (uudemmassa versiossa)?|type:text|<br />
name:sisallytys|description:'''Sisällytettiinkö ehdotus uudempaan versioon?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun;<br />
'ehdotus ei ole antanut aihetta muutoksiin';ehdotus ei ole antanut aihetta muutoksiin|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
if (nchar(gsub(" ", "", sisallytys)) == 0) stop("Sisällytyksen tyyppiä ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "edellinen") {<br />
version <- get_current_version(ident) - 1<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = sisallytys<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Sisällytyksen lisääminen onnistui.\n")<br />
<br />
</rcode><br />
==== Relaation poisto ====<br />
'''Merkitsee relaation/sisällytyksen epäkelvoksi, jolloin tämän sivun hakukoneet eivät näytä sitä.'''<br />
<rcode name="relaationpoisto" embed=1 label="Poista relaatio" showcode=0 variables="<br />
name:relid|description:Poistettavan relaation ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Relaatio ei päde uudessa versiossa';Relaatio ei päde uudessa versiossa;<br />
'Virheellinen relaatio';Virheellinen relaatio|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
relid <- strsplit(relid, ",", fixed = TRUE)[[1]]<br />
relid <- gsub(" ", "", relid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = relid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Relaatio poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Sulautus (automaattinen sisällytys) ===<br />
'''Etsii edellisestä versiosta jakeita joiden sisältö löytyy uudessa versiossa jonkin jakeen sisällöstä. Koodi on keskeneräinen johtuen R:n peruskirjaston sisäisestä bugista joka estää samanaikaisen approksimaalisen että osittaisen osuman haun.''' <br />
{{tuloslinkki}}<br />
<br />
<rcode label="Etsi sulautuksia" name="sulautus" embed=0 variables="<br />
name:sivu|description:Sivut joihin sulautus tehdään (kaikista edellisen version jakeista)|type:checkbox|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:toleranssi|description:Toleranssi (Levenshtein distance)|default:5|<br />
name:tallenna|description:Tallenna kantaan|type:selection|options:TRUE;Kyllä;FALSE;Ei|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
mdat <- get_meta_data(ident)<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
version <- c(version - 1, version)<br />
<br />
jakeet <- jaehakukone(ident, versio = version)<br />
<br />
ver1 <- jakeet[jakeet$Versio == version[1],]<br />
ver2 <- jakeet[jakeet$Versio == version[2] & jakeet$Sivu == sivu,]<br />
<br />
# adist too slow<br />
d <- adist(<br />
ver1$Result, <br />
ver2$Result,<br />
fixed = FALSE<br />
)<br />
d[is.na(d)] <- Inf<br />
#d_min <- apply(d, 1, min)<br />
#d_tol <- d <= toleranssi<br />
#d_out <- apply(d, 1, which.min)<br />
<br />
colnames(ver1)[colnames(ver1) == "Versio"] <- "Versio1"<br />
colnames(ver1)[colnames(ver1) == "Sivu"] <- "Sivu1"<br />
colnames(ver1)[colnames(ver1) == "JaeID"] <- "JaeID1"<br />
colnames(ver1)[colnames(ver1) == "Result"] <- "Result1"<br />
<br />
colnames(ver2)[colnames(ver2) == "Versio"] <- "Versio2"<br />
colnames(ver2)[colnames(ver2) == "Sivu"] <- "Sivu2"<br />
colnames(ver2)[colnames(ver2) == "JaeID"] <- "JaeID2"<br />
colnames(ver2)[colnames(ver2) == "Result"] <- "Result2"<br />
<br />
#out <- cbind(ver1[d_min <= toleranssi, ], ver2[d_out[d_min <= toleranssi], ])<br />
<br />
d <- alply(d, 1, I)<br />
d_tol <- llply(d, function(x) {x <= toleranssi})<br />
d_reps <- laply(d_tol, sum)<br />
d_w <- llply(d_tol, which)<br />
d_w <- unlist(d_w)<br />
<br />
out <- cbind(ver1[rep(1:nrow(ver1), d_reps),], ver2[d_w, ])<br />
<br />
#d <- NULL<br />
#n <- NULL<br />
#for (i in 1:nrow(ver1)) {<br />
# for (j in split(ver2$Result, ceiling((1:nrow(ver2)) / 100))) {<br />
# temp <- agrep(ver1$Result[i], j, toleranssi)<br />
# d <- append(d, temp)<br />
# n <- append(n, length(temp))<br />
# }<br />
#}<br />
<br />
#out <- cbind(<br />
# ver1[rep(1:nrow(ver1), n),],<br />
# ver2[d,]<br />
#)<br />
if (tallenna) {<br />
opbase.upload(<br />
out,<br />
name = pagename,<br />
who = wiki_username,<br />
subset = "Sulautukset"<br />
)<br />
} else { <br />
oprint(<br />
out, <br />
include.rownames = FALSE, <br />
digits = rep(0, ncol(out) + 1), <br />
caption("Sulautus uuteen versioon"), <br />
caption.placement = "top",<br />
show.all = TRUE<br />
)<br />
}<br />
</rcode><br />
<br />
== Versiot ==<br />
'''Alla olevassa taulukossa on listattuna hankkeeseen kuuluvat sivut versiokohtaisesti. Tätä taulukkoa käytetään lähes kaikissa tämän sivun hakukoneissa määrittämään nykyinen versio (jokaista sivua kohden on lisättävä uusi rivi aina kun uusi versio luodaan, sikäli kun sivu on vielä mukana hankkeessa) sekä haettaessa kommentteja sivukohtaisista tietokannoista. Periaatteessa taulukkoa myös käytettäisiin määrittelemään sivujen versiokohtaiset revisiot (päivitysajankohtaiset sivut) wiki-jakeiden konelukemista varten, mutta koska tässä hankkeessa suurin osa työstä tehtiin ennen viimeistä versiota niin tätä toiminnallisuutta ei voida käyttää koska JaeID:t menisivät sekaisin.'''<br />
<t2b name="Versiot" index="Versio,Sivu,Ident" unit="OldID"><br />
1|Liikenne ja viestintä palveluna|Op_fi4248|<br />
1|Liikenteen palvelumarkkinat|Op_fi4253|<br />
1|Liikenteen energiareformi|Op_fi4254|<br />
1|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
1|Monipuoliset sisällöt|Op_fi4256|<br />
1|Oma Painotus Teema I|Op_fi4257|<br />
1|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
1|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
1|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
1|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
1|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
1|Oma Painotus Teema II|Op_fi4262|<br />
1|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
1|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
1|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
1|Arktinen strategia|Op_fi4265|<br />
1|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
1|Oma Painotus Teema III|Op_fi4267|<br />
1|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
2|Liikenne ja viestintä palveluna|Op_fi4248|<br />
2|Liikenteen palvelumarkkinat|Op_fi4253|<br />
2|Liikenteen energiareformi|Op_fi4254|<br />
2|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
2|Monipuoliset sisällöt|Op_fi4256|<br />
2|Oma Painotus Teema I|Op_fi4257|<br />
2|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
2|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
2|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
2|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
2|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
2|Oma Painotus Teema II|Op_fi4262|<br />
2|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
2|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
2|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
2|Arktinen strategia|Op_fi4265|<br />
2|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
2|Oma Painotus Teema III|Op_fi4267|<br />
2|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
</t2b></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Liikenne_ja_viestint%C3%A4_digitaalisessa_Suomessa_2020/Sis%C3%A4ll%C3%B6nanalyysi&diff=25986
Liikenne ja viestintä digitaalisessa Suomessa 2020/Sisällönanalyysi
2014-08-27T11:35:49Z
<p>Teemu R: /* Versiot */ selitystä lisätty</p>
<hr />
<div>{{LVM}}<br />
<br />
'''Tällä sivulla voit tarkastella liikenneministeriön tulevaisuuskatsauksen sisältöä ja kansalaisten antamien kommenttien suhdetta siihen. <br />
Alla olevilla työkaluilla voit hakea tekstin jakeita eli erillisiä tekstikappaleita ja niihin liittyviä avainsanoja tai muita jakeita. Relaatiot tarkoittavat kuvailua siitä, millä tavalla kaksi jaetta liittyy toisiinsa.'''<br />
<br />
= Tägikone =<br />
{{tuloslinkki}}<br />
== Käyttöohje ==<br />
Tägikoneen idea on pitää yllä jaetietokantaa ja määritellään jakeille avainsanoja ja relaatoita joiden tarkoitus on rikastaa sivustolla käydystä keskustelusta analyysikelpoista yleisemmän tason tietoa. <br /><br />
<br />
'''[[#Jakeet]] määritellään koodilla joka lukee wikisivuilta tekstiä kappaleittain (myös taulukot ja bullet pointit). Jakeisiin lisätään myös kommentointityökalulla tehdyt kommentit, joita ei vielä ole siirretty wikitekstiin, sekä tämän sivun koodilla lisätyt jakeet [[#Jakeenlisäyskone]]. '''<br /><br />
<br />
'''[[#Avainsanat]] ovat jaekohtaisia ja ne lisätään yleensä käsityönä [[#Avainsanoitus]].'''<br /><br />
<br />
'''[[#Relaatiot]] voidaan määritellä kahden jakeen välille (myös käsityötä)'''<br /><br />
<br />
'''[[#Versiot]] - wikisivuja päivitetään mahdollisesti jatkuvasti, minkä johdosta versiointi on tarpeellista. Koska jakeet ovat versiokohtaisia niin avainsanat ja relaatiot ovat sitä myös. Avainsanojen ja relaatioiden automaattista periytymistä on kehitetty, mutta koodi on vielä kesken [[#Sulautus (automaattinen sisällytys)]].'''<br />
<br />
== Yhdistelmähakukoneet ==<br />
=== Jaekohtainen avainsanalistaus ===<br />
'''Hakee jakeita ja näyttää kaikki niihin liittyvät avainsanat'''<br />
<rcode label="Hae" name="avainsanat_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) == 0) {<br />
stop("Jakeita ei löytynyt!")<br />
}<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
} else {<br />
# Yhdistetään kunkin jakeen avainsanat yhdelle riville<br />
tags <- ddply(<br />
tags, <br />
c("Versio", "Sivu", "JaeID"), <br />
function(x) {a <- x[1,];a$Avainsanat <- paste(x$Result, collapse = ", ");return(a)}<br />
)<br />
<br />
out <- join(<br />
out[c("Versio", "Sivu", "JaeID", "Result")],<br />
tags[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
by = c("Versio", "Sivu", "JaeID"),<br />
type = "inner",<br />
match = "first"<br />
)<br />
<br />
# Jos annettiin vain yksi versio ja/tai sivu niin niitä ei tarvitse printata<br />
filter_ind <- NULL<br />
if (length(version) != 1) filter_ind <- c(filter_ind, "Versio")<br />
if (length(sivu) != 1) filter_ind <- c(filter_ind, "Sivu")<br />
filter_ind <- c(filter_ind, "JaeID")<br />
<br />
oprint(<br />
out[c(filter_ind, "Result", "Avainsanat")], <br />
include.rownames = FALSE, <br />
show_all = TRUE<br />
)<br />
}<br />
</rcode><br />
<br />
=== Jae-relaatio-jae listaus ===<br />
'''Hakee jakeita ja niihin liittyviä toisia jakeita listaten myös relaation tyypin'''<br />
<rcode label="Hae" name="relaatiot_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta relaatioita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:liitsis|description:Liittymistyyppi (tyhjä = kaikki)|type:checkbox|options:<br />
'tukee tai on linjassa';Tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';Vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';On neutraali suhteessa;<br />
'on uusi linjaus tai painotus';On uusi linjaus tai painotus;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';Ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';Ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin';Ehdotus ei ole antanut aihetta muutoksiin;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';Ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:details|description:Näytetäänkö tekniset yksityiskohdat?|type:selection|options:FALSE;Ei, vain jakeiden sisältö;TRUE;Kyllä, myös jakeiden numerot|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
# Eri sisältymistyypit pitää määritellä niin että ne voidaan käsitellä erillään muista relaatioista<br />
sis_opt <- c(<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu',<br />
'ehdotus huomioitu ja uusi kohta lisätty',<br />
'ehdotus ei ole antanut aihetta muutoksiin', <br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun'<br />
)<br />
#liit_opt <- c(<br />
# 'tukee tai on linjassa',<br />
# 'vastustaa tai on ristiriidassa',<br />
# 'on neutraali suhteessa',<br />
# 'on uusi linjaus tai painotus'<br />
#)<br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (!is.null(liitsis)) rel <- rel[rel$Result %in% liitsis, ]<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = unique(c(<br />
as.character(rel$Sivu1), <br />
as.character(rel$Sivu2)<br />
)), <br />
versio = version, <br />
jae = unique(c(<br />
as.character(rel$JaeID1), <br />
as.character(rel$JaeID2)<br />
))<br />
)<br />
if (nrow(jakeet) == 0) stop("Relaatioissa listattuja jakeita ei löytynyt!")<br />
<br />
# Relaatiot<br />
if (nrow(rel[!(rel$Relaatio %in% sis_opt),]) > 0) {<br />
jakeet <- jakeet[c("Versio", "Sivu", "JaeID", "Result")]<br />
colnames(jakeet)[colnames(jakeet) == "JaeID"] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu"] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Jae1"<br />
rel <- rel[c("RelaatioID", "Versio", "Sivu1", "JaeID1", "Result", "Sivu2", "JaeID2")]<br />
colnames(rel)[colnames(rel) == "Result"] <- "Relaatio"<br />
out <- join(<br />
rel[(!(rel$Relaatio %in% sis_opt)) & rel$Versio %in% original_version,], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
out <- join(out, jakeet, match = "first")<br />
<br />
if(details) {<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
<br />
temp <- out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")]<br />
temp <- data.frame(<br />
Jae1 = paste(temp$Jae1, " (", temp$Sivu1, ")", sep = ""),<br />
Relaatio = temp$Relaatio,<br />
Jae2 = paste(temp$Jae2, " (", temp$Sivu2, ")", sep = "")<br />
)<br />
oprint(temp, <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
}<br />
} else {<br />
cat("Ei relaatioita!\n")<br />
}<br />
<br />
# Sisällytykset<br />
if (nrow(rel[(rel$Relaatio %in% sis_opt),]) > 0) {<br />
colnames(jakeet)[colnames(jakeet) %in% c("JaeID","JaeID2")] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Sivu", "Sivu2")] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Result", "Jae2")] <- "Jae1"<br />
colnames(rel)[colnames(rel) == "Relaatio"] <- "Sisällytys"<br />
out <- join(<br />
rel[rel$Sisällytys %in% sis_opt & rel$Versio %in% version[-length(version)],], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
jakeet$Versio <- as.numeric(as.character(jakeet$Versio)) - 1<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Sisällytys", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Sisällytys (uudempaan versioon)", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei sisällytyksiä!\n")<br />
}<br />
}<br />
</rcode><br />
<br />
=== Avainsana- ja relaatiotietojen analyysi ===<br />
<br />
'''Hae jakeita annetuilla kriteereillä ja vertaile avainsanojen ja relaatioiden lukumääriä. Halutessasi voit myös listata jaeosumat. Vapaakenttiin voi syöttää useita arvoja erottelemalla ne pilkuilla.'''<br />
<br />
Käytetyt avainsanat:<br />
{{piilotettu|<br />
3D-tulostus Aikataulut Ajoneuvokanta Alueellisuus <br />
alustus Ammattiryhmät Arvo Asutus <br />
Aurinko Automatisaatio Avoimuus Big Data <br />
Biopolttoaine Dataliikenne Digitalisoituminen Eettisyys <br />
eIDAS Elintaso Energia Epäselvä luokka <br />
Eriarvoisuus Erityisryhmät Esineiden internet Globaalius <br />
Globaaluis Henkilökortti Henkilötiedot Huutokauppa <br />
Hybridi Hybridi-TV Hyvinvointi Hyvinvointiyhteiskunta <br />
Häiriöt Ilmasto Infrastruktuuri Innovatiivisus <br />
Innovatiivisuus Internet Investoinnit Joukkoliikenne <br />
Joustavuus Julkinen valta Kaivosteollisuus Kansainvälisyys <br />
Kasvihuonekaasut Kaupallisuus Kaupungit Kehitys <br />
Kestävyys Kevyen liikenteen väylät Kevytliikenne Kiinteistöt <br />
Kilpailu Kilpailukyky Konesalit Konkreettisuus <br />
Kotimaisuus Koulutus Kunnat Kustannustehokkuus <br />
Kuuluvuus Kävely Laajakaista Lainsäädäntö <br />
Laiton tarjonta Langattomuus Lappi Lentoliikenne <br />
Liikenne Liikenneverkostot Liikkumistili Linja-autot <br />
Logistiikka Luonnonsuojelu Lämmitys Maakaasu <br />
Maatalous Mainonta Markkinat Massavalvonta <br />
Meriliikenne Metadata Mobiiliverkko Mopot <br />
Nopeus Ohjaus Ohjelmistot Ohjelmistotoimittaja <br />
Oikeusturva Omavaraisuus Operaattori Osaaminen <br />
Ostovoima Palaute Palvelut Palvelutaso <br />
Peruskunto Pilvipalvelut Polttoaine Posti <br />
Puelueettomuus Pysäköinti Pyöräily Päivitys <br />
Pääkaupunkiseutu Päästöt Päätöksenteko Päätös <br />
Raha Rahoitus Rahtliikenne Rajapinnat <br />
Rakennemuutos Rakentaminen Raskas liikenne Rautatiet <br />
Riippuvuus Rikokset Robotisaatio Ruuhkamaksu <br />
Ruuhkautuminen Saatavuus Sateliittipaikannus Sovellukset <br />
Strategia Suunnittelu Sähkö Sähköauto <br />
Sääntely Säästöt Talous Talouskasvu <br />
Tarpeet Tasa-arvo Tasapuolisuus Tasavertaisuus <br />
Tavaraliikenne Tehokkuus Tekijänoikeus Tekniikkaneutraalius <br />
Tekninen tuki Teknologia Teknologianeutraalius Teollisuus <br />
Terveydenhuolto Terveys testi Tiedon avoimuus <br />
Tiedon hallinnointi Tiedon hallinta Tiedon hyödyntäminen Tieliikenne <br />
Tietoliikenne Tietoturva Toimilupa Toiminta <br />
Toimintavarmuus Toimivuus Tuki Turvallisuus <br />
Turvaverkko Tutkimus Tuuli TV <br />
Työllisyys Työn tekemiseen liittyvä Ulkomaat Uudistus <br />
Vaihtoehtoiset polttoaineet Vaikuttaminen Vaikutus Vakuutus <br />
Valinnanvapaus Valtio Varmenne Varmuus <br />
Vastuu Verkostoituminen Verotus Vesiliikenne <br />
Vesiliikenne, Tasavertaisuus Viestintäverkot Viranomaiset Yhteensopivuus <br />
Yhteiskunta Yhteiskuntamurros Yhteistyö Yhteysnopeus <br />
Yksityisautoilu Yksityisyydensuoja YLE Yleispalvelu <br />
Yleisradio Ympäristö Yritykset Öljy <br />
}}<br />
<br />
<rcode label="Näytä tilastoja/jakeita" name="jae_stats" embed=1 graphics=1 variables="<br />
name:sivu|description:Minkä sivun jakeita haluat tarkastella?|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:avainsanat|description:Hae jakeita joilla on ainakin yksi seuraavista avainsanoista|type:text|<br />
name:avainsanat_all|description:Hae jakeita joilla on kaikki seuraavat avainsanat|type:text|<br />
name:jaelista|description:Haluatko nähdä kaikki löydetyt jakeet?|type:selection|options:FALSE;En;TRUE;Kyllä|default:FALSE|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
library(ggplot2)<br />
<br />
filter <- list()<br />
if (nchar(gsub(" ", "", avainsanat)) > 0) {<br />
avainsanat <- strsplit(avainsanat, ",")[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat) <br />
} else {<br />
avainsanat <- NULL<br />
}<br />
if (nchar(gsub(" ", "", avainsanat_all)) > 0) {<br />
avainsanat_all <- strsplit(avainsanat_all, ",")[[1]]<br />
avainsanat_all <- gsub("^\\s*|\\s*$", "", avainsanat_all)<br />
#filter$Avainsana <- avainsanat_all<br />
} else {<br />
avainsanat_all <- NULL<br />
}<br />
filter$Sivu <- sivu<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
filter$Versio <- version<br />
<br />
if (length(filter) == 0) filter <- NULL<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
jaeid <- NULL<br />
<br />
if (!is.null(avainsanat)|!is.null(avainsanat_all)) {<br />
tags <- tags[tags$Result %in% c(avainsanat, avainsanat_all), ]<br />
jaeid <- unique(as.character(tags$JaeID))<br />
}<br />
<br />
if(!is.null(avainsanat_all)) {<br />
temp <- list()<br />
for (i in 1:nrow(jaeid)) {<br />
temp[[i]] <- avainsanat_all %in% tags$Result[tags$JaeID == jaeid[i]]<br />
}<br />
temp <- lapply(temp, all)<br />
jaeid <- jaeid[temp]<br />
tags <- tags[tags$JaeID %in% jaeid,]<br />
}<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt.\n")<br />
}<br />
<br />
if (is.null(filter)) {<br />
filter2 <- list()<br />
} else {<br />
filter2 <- filter<br />
}<br />
<br />
filter2$JaeID <- jaeid<br />
<br />
if (length(filter2) == 0) filter2 <- NULL<br />
<br />
if (jaelista) {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = filter2$Sivu, # *list$non-existent returns NULL<br />
versio = filter2$Versio, <br />
jae = filter2$JaeID<br />
)<br />
if (nrow(jakeet) == 0) {<br />
cat("Avainsanoissa listattuja jakeita ei löytynyt.\n")<br />
} else {<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Sisältö"<br />
tagged <- NULL<br />
if (nrow(tags) > 0) {<br />
#tagged <- join(<br />
# jakeet[c("Versio", "Sivu", "Aihe", "JaeID")], <br />
# tags[c("Versio", "Sivu", "JaeID", "Result")]<br />
#)<br />
#colnames(tagged)[colnames(tagged) == "Result"] <- "Avainsana"<br />
tagged <- tapply(tags$Result, tags[c("Versio", "Sivu", "JaeID")], paste, collapse = ", ")<br />
tagged <- as.data.frame(as.table(tagged))<br />
colnames(tagged)[colnames(tagged) == "Freq"] <- "Avainsanat"<br />
tagged <- join(<br />
jakeet[c("Versio", "Sivu", "JaeID", "Sisältö")], <br />
tagged[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
type = "inner",<br />
match = "first"<br />
)<br />
oprint(<br />
tagged[c("Versio", "Sivu", "JaeID", "Sisältö", "Avainsanat")],<br />
caption = "Jakeet", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = rep(0, 6)<br />
)<br />
}<br />
}<br />
}<br />
<br />
if (nrow(tags) > 0) {<br />
tags_out <- ddply(tags, "Result", nrow)<br />
colnames(tags_out) <- c("Avainsana", "Lukumäärä")<br />
tags_out <- tags_out[order(tags_out$Lukumäärä, decreasing = TRUE),]<br />
oprint(<br />
tags_out,<br />
caption = "Avainsanojen lukumäärät", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = c(0, 0, 0)<br />
)<br />
ggplot(tags_out, aes(x = Avainsana, y = Lukumäärä, fill = Avainsana)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Avainsanojen frekvenssit")<br />
}<br />
<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter3 <- list()<br />
filter3$Sivu1 <- sivu<br />
filter3$Versio <- version<br />
filter3$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter3$JaeID1 <- NULL<br />
filter3$Sivu1 <- NULL<br />
filter3$JaeID2 <- jaeid<br />
filter3$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
related <- rel[<br />
rel$Result %in% c(<br />
"on neutraali suhteessa", <br />
"on uusi linjaus tai painotus", <br />
"tukee tai on linjassa", <br />
"vastustaa tai on ristiriidassa"<br />
), ]<br />
related$Result <- as.character(related$Result)<br />
affected <- rel[<br />
rel$Result %in% c(<br />
"ehdotus ei ole antanut aihetta muutoksiin",<br />
"ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun", <br />
"ehdotus huomioitu ja liittyvää painotusta muutettu",<br />
"ehdotus huomioitu ja uusi kohta lisätty"<br />
), ]<br />
affected$Result <- as.character(affected$Result)<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin"] <- "Ei aihetta muutoksiin"<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun"] <- "Sisältyy valmiiksi"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja liittyvää painotusta muutettu"] <- "Huomioitu painotuksella"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja uusi kohta lisätty"] <- "Huomioitu lisäyksellä"<br />
<br />
related_out <- ddply(related, "Result", nrow)<br />
colnames(related_out) <- c("Relaatio", "Lukumäärä")<br />
<br />
affected_out <- ddply(affected, "Result", nrow)<br />
colnames(affected_out) <- c("Sisällytys", "Lukumäärä")<br />
}<br />
<br />
if (nrow(related_out > 0)) {<br />
ggplot(related_out, aes(x = Relaatio, y = Lukumäärä, fill = Relaatio)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Relaatioiden frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
<br />
if (nrow(affected_out > 0)) {<br />
ggplot(affected_out, aes(x = Sisällytys, y = Lukumäärä, fill = Sisällytys)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Sisällytyksen frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
</rcode><br />
<br />
== Työkalut ==<br />
'''Aineiston työstämiseen tarkoitettuja koodeja.'''<br />
=== Jakeet ===<br />
==== Jaehakukone ====<br />
'''Hakee jakeita annetuilla kriteereillä. Näyttää myös tekniset sarakkeet. Vapaakenttiin voi laittaa useita arvoja erottelemalla ne pilkuilla.'''<br />
<rcode label="Näytä jakeet" name="jakeet" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Jakeita ei löytynyt!\n")<br />
}<br />
</rcode><br />
<br />
==== Jakeenlisäyskone ====<br />
'''Lisää tietokantaan vapaasti määriteltävän jakeen. Lisätyt jakeet näkyvät tämän sivun hakukoneissa. Niiden JaeID:llä on "L"-etuliite.'''<br />
<rcode label="Lisää jae" name="jakeenlisays" embed=1 variables="<br />
name:sivu|description:Sivu jolle jae lisätään|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:sisalto|description:Jakeen sisältö|type:textbox|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame( <br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
JaeID = NA,<br />
Result = sisalto<br />
)<br />
<br />
ident.subset <- paste(ident, "Jakeenlisaykset", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
filter$Sivu <- sivu<br />
<br />
upload_with_autoid(<br />
out,<br />
ident.subset,<br />
id_name = "JaeID",<br />
pagename = pagename,<br />
prefix = "L",<br />
filter = filter<br />
)<br />
</rcode><br />
<br />
==== Jakeenpoistokone ====<br />
'''Merkitsee jakeen epäkelvoksi, jolloin se jätetään näyttämättä kaikissa tämän sivun hakukoneissa.'''<br />
<rcode label="Poista jae" name="jakeenpoisto" embed=1 variables="<br />
name:sivu|description:Poistettavan jakeen sivu|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Poistettavan jakeen ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Tekninen jae';Tekninen jae;<br />
'Jae ei liity sivun aiheeseen';Jae ei liity sivun aiheeseen;<br />
'Jae on häiriköintiä';Jae on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jaeid <- strsplit(jaeid, ",", fixed = TRUE)[[1]]<br />
jaeid <- gsub(" ", "", jaeid)<br />
<br />
if (sum(nchar(jaeid)) == 0) stop("Anna jakeen ID")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame(<br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = as.character(jaeid)<br />
)<br />
<br />
opbase.upload(<br />
out, <br />
who = wiki_username, <br />
name = pagename,<br />
subset = "Jakeenpoistot",<br />
act_type = "append", <br />
language = "fin"<br />
)<br />
</rcode><br />
<br />
=== Avainsanat ===<br />
==== Avainsanahakukone ====<br />
'''Hakee jaekohtaisia avainsanoja. Näyttää datan sellaisena kuin se on tietokannassa.'''<br />
<rcode label="Näytä avainsanat" name="avainsanat_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka avainsanoja haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
out <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
==== Avainsanoitus ====<br />
'''Lisää tietokantaan annetut avainsanat. Avainanoja voidaan lisätä ruksaamalla annetusta listasta (vain yleisimmät) ja syöttämällä vapaakenttään pilkulla eroteltuna.'''<br />
<rcode label="Lisää avainsana" name="avainsananlisays" embed=1 variables="<br />
name:sivu|description:Minkä sivun jakeelle haluat lisätä avainsanoja?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Mikä on jakeen versio?|type:text|default:nykyinen|<br />
name:jae|description:Mikä on jakeen ID?|type:text|<br />
name:yl_avainsanat|description:Valitse alla olevasta listasta yleisiä avainsanoja.|type:checkbox|options:<br />
'Päätös';A Päätös (jae sisältää päätös- tai toimintaehdotuksen);<br />
'Vaikutus';B Vaikutus (jae kuvaa ilmiötä tai vaikutusta);<br />
'Arvo';C Arvo (jakeessa on arvoarvostelma tai kuvaa asian merkitystä);<br />
'Työn tekemiseen liittyvä';D Katsaustyön tekemiseen liittyvä;<br />
'Epäselvä luokka';E Ei mikään edellisistä (valitse ainakin yksi A-E)|<br />
name:avainsanat|description:Laita halutessasi yllä listaamattomattomia avainsanoja tähän pilkulla eroteltuna.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
avainsanat <- strsplit(avainsanat, ",", fixed = TRUE)[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat)<br />
avainsanat <- avainsanat[nchar(avainsanat) > 0]<br />
avainsanat <- c(yl_avainsanat, avainsanat)<br />
if (length(avainsanat) == 0) stop("Yhtään avainsanaa ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
AvainsanaID = NA, <br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Sivu = sivu,<br />
JaeID = as.character(jae), <br />
Result = avainsanat<br />
)<br />
<br />
ident.subset <- paste(ident, "Avainsanat", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "AvainsanaID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Avainsanojen lisääminen onnistui.\n")<br />
</rcode><br />
<br />
==== Avainsanan poisto ====<br />
'''Merkitsee avainsanan epäkelvoksi, jolloin tämän sivun hakukoneet eivät näytä sitä.'''<br />
<rcode name="avainsananpoisto" embed=1 label="Poista avainsana" showcode=0 variables="<br />
name:avid|description:Poistettavan avainsanan ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Avainsana ei päde uudessa versiossa';Avainsana ei päde uudessa versiossa;<br />
'Virheellinen avainsana';Virheellinen avainsana|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
avid <- strsplit(avid, ",", fixed = TRUE)[[1]]<br />
avid <- gsub(" ", "", avid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = avid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Avainsana poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
<br />
<br />
=== Relaatiot ===<br />
==== Relaatiohakukone ====<br />
'''Hakee relaatioita joissa mahdollisesti annetut jakeet esiintyvät. Näyttää datan sellaisena kuin se on tietokannassa.'''<br />
<rcode label="Näytä relaatiot" name="relaatiot_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka relaatioita haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
out <- rbind(rel1, rel2)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(<br />
out, <br />
include.rownames = FALSE,<br />
caption = "Relaatiot", <br />
caption.placement = "top"<br />
)<br />
} else {<br />
cat("Relaatioita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
==== Relaation lisääminen ====<br />
'''Lisää uuden relaation tietokantaan. Samantyyppisiä relaatioita voi kerralla lisätä useita, kun erottelee JaeID:t pilkuilla: relaatiot määräytyvät kaikki yhteen, yksi kaikkiin tai yksi yhteen. '''<br />
<rcode label="Lisää relaatio" name="relaatio" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:nykyinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID?|type:text|<br />
name:relaatio|description:'''Kuinka lähtöjae liittyy kohdejakeeseen?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'tukee tai on linjassa';tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';on neutraali suhteessa;<br />
'on uusi linjaus tai painotus';on uusi linjaus tai painotus;<br />
'kuuluu ryhmään/kokoelmaan';kuuluu ryhmään/kokoelmaan|<br />
name:lisarelaatio|description:VAPAAEHTOINEN Voit antaa oman jakeiden välisen relaation vapaakenttään.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
relaatio <- ifelse(lisarelaatio == '', relaatio, lisarelaatio)<br />
if (nchar(gsub(" ", "", relaatio)) == 0) stop("Relaatiota ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = relaatio<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Relaation lisääminen onnistui.\n")<br />
<br />
</rcode><br />
==== Sisällytyksen lisääminen ====<br />
'''Lisää uuden sisällytyksen tietokantaan. Sisällytys tapahtuu aina seuraavaan versioon. Samantyyppisiä sisällytyksiä voi kerralla lisätä useita, kun erottelee JaeID:t pilkuilla: sisällytykset määräytyvät kaikki yhteen, yksi kaikkiin tai yksi yhteen. '''<br />
<rcode label="Lisää sisällytys" name="sisallytys" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:edellinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID (uudemmassa versiossa)?|type:text|<br />
name:sisallytys|description:'''Sisällytettiinkö ehdotus uudempaan versioon?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun;<br />
'ehdotus ei ole antanut aihetta muutoksiin';ehdotus ei ole antanut aihetta muutoksiin|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
if (nchar(gsub(" ", "", sisallytys)) == 0) stop("Sisällytyksen tyyppiä ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "edellinen") {<br />
version <- get_current_version(ident) - 1<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = sisallytys<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Sisällytyksen lisääminen onnistui.\n")<br />
<br />
</rcode><br />
==== Relaation poisto ====<br />
'''Merkitsee relaation/sisällytyksen epäkelvoksi, jolloin tämän sivun hakukoneet eivät näytä sitä.'''<br />
<rcode name="relaationpoisto" embed=1 label="Poista relaatio" showcode=0 variables="<br />
name:relid|description:Poistettavan relaation ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Relaatio ei päde uudessa versiossa';Relaatio ei päde uudessa versiossa;<br />
'Virheellinen relaatio';Virheellinen relaatio|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
relid <- strsplit(relid, ",", fixed = TRUE)[[1]]<br />
relid <- gsub(" ", "", relid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = relid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Relaatio poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Sulautus (automaattinen sisällytys) ===<br />
'''Etsii edellisestä versiosta jakeita joiden sisältö löytyy uudessa versiossa jonkin jakeen sisällöstä. Koodi on keskeneräinen johtuen R:n peruskirjaston sisäisestä bugista joka estää samanaikaisen approksimaalisen että osittaisen osuman haun.''' <br />
{{tuloslinkki}}<br />
<br />
<rcode label="Etsi sulautuksia" name="sulautus" embed=0 variables="<br />
name:sivu|description:Sivut joihin sulautus tehdään (kaikista edellisen version jakeista)|type:checkbox|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:toleranssi|description:Toleranssi (Levenshtein distance)|default:5|<br />
name:tallenna|description:Tallenna kantaan|type:selection|options:TRUE;Kyllä;FALSE;Ei|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
mdat <- get_meta_data(ident)<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
version <- c(version - 1, version)<br />
<br />
jakeet <- jaehakukone(ident, versio = version)<br />
<br />
ver1 <- jakeet[jakeet$Versio == version[1],]<br />
ver2 <- jakeet[jakeet$Versio == version[2] & jakeet$Sivu == sivu,]<br />
<br />
# adist too slow<br />
d <- adist(<br />
ver1$Result, <br />
ver2$Result,<br />
fixed = FALSE<br />
)<br />
d[is.na(d)] <- Inf<br />
#d_min <- apply(d, 1, min)<br />
#d_tol <- d <= toleranssi<br />
#d_out <- apply(d, 1, which.min)<br />
<br />
colnames(ver1)[colnames(ver1) == "Versio"] <- "Versio1"<br />
colnames(ver1)[colnames(ver1) == "Sivu"] <- "Sivu1"<br />
colnames(ver1)[colnames(ver1) == "JaeID"] <- "JaeID1"<br />
colnames(ver1)[colnames(ver1) == "Result"] <- "Result1"<br />
<br />
colnames(ver2)[colnames(ver2) == "Versio"] <- "Versio2"<br />
colnames(ver2)[colnames(ver2) == "Sivu"] <- "Sivu2"<br />
colnames(ver2)[colnames(ver2) == "JaeID"] <- "JaeID2"<br />
colnames(ver2)[colnames(ver2) == "Result"] <- "Result2"<br />
<br />
#out <- cbind(ver1[d_min <= toleranssi, ], ver2[d_out[d_min <= toleranssi], ])<br />
<br />
d <- alply(d, 1, I)<br />
d_tol <- llply(d, function(x) {x <= toleranssi})<br />
d_reps <- laply(d_tol, sum)<br />
d_w <- llply(d_tol, which)<br />
d_w <- unlist(d_w)<br />
<br />
out <- cbind(ver1[rep(1:nrow(ver1), d_reps),], ver2[d_w, ])<br />
<br />
#d <- NULL<br />
#n <- NULL<br />
#for (i in 1:nrow(ver1)) {<br />
# for (j in split(ver2$Result, ceiling((1:nrow(ver2)) / 100))) {<br />
# temp <- agrep(ver1$Result[i], j, toleranssi)<br />
# d <- append(d, temp)<br />
# n <- append(n, length(temp))<br />
# }<br />
#}<br />
<br />
#out <- cbind(<br />
# ver1[rep(1:nrow(ver1), n),],<br />
# ver2[d,]<br />
#)<br />
if (tallenna) {<br />
opbase.upload(<br />
out,<br />
name = pagename,<br />
who = wiki_username,<br />
subset = "Sulautukset"<br />
)<br />
} else { <br />
oprint(<br />
out, <br />
include.rownames = FALSE, <br />
digits = rep(0, ncol(out) + 1), <br />
caption("Sulautus uuteen versioon"), <br />
caption.placement = "top",<br />
show.all = TRUE<br />
)<br />
}<br />
</rcode><br />
<br />
== Versiot ==<br />
'''Alla olevassa taulukossa on listattuna hankkeeseen kuuluvat sivut versiokohtaisesti. Tätä taulukkoa käytetään lähes kaikissa tämän sivun hakukoneissa määrittämään nykyinen versio (jokaista sivua kohden on lisättävä uusi rivi aina kun uusi versio luodaan, sikäli kun sivu on vielä mukana hankkeessa) sekä haettaessa kommentteja sivukohtaisista tietokannoista. Periaatteessa taulukkoa myös käytettäisiin määrittelemään sivujen versiokohtaiset revisiot (päivitysajankohtaiset sivut) wiki-jakeiden konelukemista varten, mutta koska tässä hankkeessa suurin osa työstä tehtiin ennen viimeistä versiota niin tätä toiminnallisuutta ei voida käyttää koska JaeID:t menisivät sekaisin.'''<br />
<t2b name="Versiot" index="Versio,Sivu,Ident" unit="OldID"><br />
1|Liikenne ja viestintä palveluna|Op_fi4248|<br />
1|Liikenteen palvelumarkkinat|Op_fi4253|<br />
1|Liikenteen energiareformi|Op_fi4254|<br />
1|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
1|Monipuoliset sisällöt|Op_fi4256|<br />
1|Oma Painotus Teema I|Op_fi4257|<br />
1|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
1|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
1|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
1|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
1|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
1|Oma Painotus Teema II|Op_fi4262|<br />
1|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
1|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
1|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
1|Arktinen strategia|Op_fi4265|<br />
1|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
1|Oma Painotus Teema III|Op_fi4267|<br />
1|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
2|Liikenne ja viestintä palveluna|Op_fi4248|<br />
2|Liikenteen palvelumarkkinat|Op_fi4253|<br />
2|Liikenteen energiareformi|Op_fi4254|<br />
2|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
2|Monipuoliset sisällöt|Op_fi4256|<br />
2|Oma Painotus Teema I|Op_fi4257|<br />
2|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
2|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
2|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
2|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
2|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
2|Oma Painotus Teema II|Op_fi4262|<br />
2|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
2|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
2|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
2|Arktinen strategia|Op_fi4265|<br />
2|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
2|Oma Painotus Teema III|Op_fi4267|<br />
2|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
</t2b></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Liikenne_ja_viestint%C3%A4_digitaalisessa_Suomessa_2020/Sis%C3%A4ll%C3%B6nanalyysi&diff=25974
Liikenne ja viestintä digitaalisessa Suomessa 2020/Sisällönanalyysi
2014-08-27T10:17:53Z
<p>Teemu R: /* Tägikone */</p>
<hr />
<div>{{LVM}}<br />
<br />
'''Tällä sivulla voit tarkastella liikenneministeriön tulevaisuuskatsauksen sisältöä ja kansalaisten antamien kommenttien suhdetta siihen. <br />
Alla olevilla työkaluilla voit hakea tekstin jakeita eli erillisiä tekstikappaleita ja niihin liittyviä avainsanoja tai muita jakeita. Relaatiot tarkoittavat kuvailua siitä, millä tavalla kaksi jaetta liittyy toisiinsa.'''<br />
<br />
= Tägikone =<br />
{{tuloslinkki}}<br />
== Käyttöohje ==<br />
Tägikoneen idea on pitää yllä jaetietokantaa ja määritellään jakeille avainsanoja ja relaatoita joiden tarkoitus on rikastaa sivustolla käydystä keskustelusta analyysikelpoista yleisemmän tason tietoa. <br /><br />
<br />
'''[[#Jakeet]] määritellään koodilla joka lukee wikisivuilta tekstiä kappaleittain (myös taulukot ja bullet pointit). Jakeisiin lisätään myös kommentointityökalulla tehdyt kommentit, joita ei vielä ole siirretty wikitekstiin, sekä tämän sivun koodilla lisätyt jakeet [[#Jakeenlisäyskone]]. '''<br /><br />
<br />
'''[[#Avainsanat]] ovat jaekohtaisia ja ne lisätään yleensä käsityönä [[#Avainsanoitus]].'''<br /><br />
<br />
'''[[#Relaatiot]] voidaan määritellä kahden jakeen välille (myös käsityötä)'''<br /><br />
<br />
'''[[#Versiot]] - wikisivuja päivitetään mahdollisesti jatkuvasti, minkä johdosta versiointi on tarpeellista. Koska jakeet ovat versiokohtaisia niin avainsanat ja relaatiot ovat sitä myös. Avainsanojen ja relaatioiden automaattista periytymistä on kehitetty, mutta koodi on vielä kesken [[#Sulautus (automaattinen sisällytys)]].'''<br />
<br />
== Yhdistelmähakukoneet ==<br />
=== Jaekohtainen avainsanalistaus ===<br />
'''Hakee jakeita ja näyttää kaikki niihin liittyvät avainsanat'''<br />
<rcode label="Hae" name="avainsanat_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) == 0) {<br />
stop("Jakeita ei löytynyt!")<br />
}<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
} else {<br />
# Yhdistetään kunkin jakeen avainsanat yhdelle riville<br />
tags <- ddply(<br />
tags, <br />
c("Versio", "Sivu", "JaeID"), <br />
function(x) {a <- x[1,];a$Avainsanat <- paste(x$Result, collapse = ", ");return(a)}<br />
)<br />
<br />
out <- join(<br />
out[c("Versio", "Sivu", "JaeID", "Result")],<br />
tags[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
by = c("Versio", "Sivu", "JaeID"),<br />
type = "inner",<br />
match = "first"<br />
)<br />
<br />
# Jos annettiin vain yksi versio ja/tai sivu niin niitä ei tarvitse printata<br />
filter_ind <- NULL<br />
if (length(version) != 1) filter_ind <- c(filter_ind, "Versio")<br />
if (length(sivu) != 1) filter_ind <- c(filter_ind, "Sivu")<br />
filter_ind <- c(filter_ind, "JaeID")<br />
<br />
oprint(<br />
out[c(filter_ind, "Result", "Avainsanat")], <br />
include.rownames = FALSE, <br />
show_all = TRUE<br />
)<br />
}<br />
</rcode><br />
<br />
=== Jae-relaatio-jae listaus ===<br />
'''Hakee jakeita ja niihin liittyviä toisia jakeita listaten myös relaation tyypin'''<br />
<rcode label="Hae" name="relaatiot_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta relaatioita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:liitsis|description:Liittymistyyppi (tyhjä = kaikki)|type:checkbox|options:<br />
'tukee tai on linjassa';Tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';Vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';On neutraali suhteessa;<br />
'on uusi linjaus tai painotus';On uusi linjaus tai painotus;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';Ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';Ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin';Ehdotus ei ole antanut aihetta muutoksiin;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';Ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:details|description:Näytetäänkö tekniset yksityiskohdat?|type:selection|options:FALSE;Ei, vain jakeiden sisältö;TRUE;Kyllä, myös jakeiden numerot|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
# Eri sisältymistyypit pitää määritellä niin että ne voidaan käsitellä erillään muista relaatioista<br />
sis_opt <- c(<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu',<br />
'ehdotus huomioitu ja uusi kohta lisätty',<br />
'ehdotus ei ole antanut aihetta muutoksiin', <br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun'<br />
)<br />
#liit_opt <- c(<br />
# 'tukee tai on linjassa',<br />
# 'vastustaa tai on ristiriidassa',<br />
# 'on neutraali suhteessa',<br />
# 'on uusi linjaus tai painotus'<br />
#)<br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (!is.null(liitsis)) rel <- rel[rel$Result %in% liitsis, ]<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = unique(c(<br />
as.character(rel$Sivu1), <br />
as.character(rel$Sivu2)<br />
)), <br />
versio = version, <br />
jae = unique(c(<br />
as.character(rel$JaeID1), <br />
as.character(rel$JaeID2)<br />
))<br />
)<br />
if (nrow(jakeet) == 0) stop("Relaatioissa listattuja jakeita ei löytynyt!")<br />
<br />
# Relaatiot<br />
if (nrow(rel[!(rel$Relaatio %in% sis_opt),]) > 0) {<br />
jakeet <- jakeet[c("Versio", "Sivu", "JaeID", "Result")]<br />
colnames(jakeet)[colnames(jakeet) == "JaeID"] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu"] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Jae1"<br />
rel <- rel[c("RelaatioID", "Versio", "Sivu1", "JaeID1", "Result", "Sivu2", "JaeID2")]<br />
colnames(rel)[colnames(rel) == "Result"] <- "Relaatio"<br />
out <- join(<br />
rel[(!(rel$Relaatio %in% sis_opt)) & rel$Versio %in% original_version,], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
out <- join(out, jakeet, match = "first")<br />
<br />
if(details) {<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
<br />
temp <- out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")]<br />
temp <- data.frame(<br />
Jae1 = paste(temp$Jae1, " (", temp$Sivu1, ")", sep = ""),<br />
Relaatio = temp$Relaatio,<br />
Jae2 = paste(temp$Jae2, " (", temp$Sivu2, ")", sep = "")<br />
)<br />
oprint(temp, <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
}<br />
} else {<br />
cat("Ei relaatioita!\n")<br />
}<br />
<br />
# Sisällytykset<br />
if (nrow(rel[(rel$Relaatio %in% sis_opt),]) > 0) {<br />
colnames(jakeet)[colnames(jakeet) %in% c("JaeID","JaeID2")] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Sivu", "Sivu2")] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Result", "Jae2")] <- "Jae1"<br />
colnames(rel)[colnames(rel) == "Relaatio"] <- "Sisällytys"<br />
out <- join(<br />
rel[rel$Sisällytys %in% sis_opt & rel$Versio %in% version[-length(version)],], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
jakeet$Versio <- as.numeric(as.character(jakeet$Versio)) - 1<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Sisällytys", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Sisällytys (uudempaan versioon)", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei sisällytyksiä!\n")<br />
}<br />
}<br />
</rcode><br />
<br />
=== Avainsana- ja relaatiotietojen analyysi ===<br />
<br />
'''Hae jakeita annetuilla kriteereillä ja vertaile avainsanojen ja relaatioiden lukumääriä. Halutessasi voit myös listata jaeosumat. Vapaakenttiin voi syöttää useita arvoja erottelemalla ne pilkuilla.'''<br />
<br />
Käytetyt avainsanat:<br />
{{piilotettu|<br />
3D-tulostus Aikataulut Ajoneuvokanta Alueellisuus <br />
alustus Ammattiryhmät Arvo Asutus <br />
Aurinko Automatisaatio Avoimuus Big Data <br />
Biopolttoaine Dataliikenne Digitalisoituminen Eettisyys <br />
eIDAS Elintaso Energia Epäselvä luokka <br />
Eriarvoisuus Erityisryhmät Esineiden internet Globaalius <br />
Globaaluis Henkilökortti Henkilötiedot Huutokauppa <br />
Hybridi Hybridi-TV Hyvinvointi Hyvinvointiyhteiskunta <br />
Häiriöt Ilmasto Infrastruktuuri Innovatiivisus <br />
Innovatiivisuus Internet Investoinnit Joukkoliikenne <br />
Joustavuus Julkinen valta Kaivosteollisuus Kansainvälisyys <br />
Kasvihuonekaasut Kaupallisuus Kaupungit Kehitys <br />
Kestävyys Kevyen liikenteen väylät Kevytliikenne Kiinteistöt <br />
Kilpailu Kilpailukyky Konesalit Konkreettisuus <br />
Kotimaisuus Koulutus Kunnat Kustannustehokkuus <br />
Kuuluvuus Kävely Laajakaista Lainsäädäntö <br />
Laiton tarjonta Langattomuus Lappi Lentoliikenne <br />
Liikenne Liikenneverkostot Liikkumistili Linja-autot <br />
Logistiikka Luonnonsuojelu Lämmitys Maakaasu <br />
Maatalous Mainonta Markkinat Massavalvonta <br />
Meriliikenne Metadata Mobiiliverkko Mopot <br />
Nopeus Ohjaus Ohjelmistot Ohjelmistotoimittaja <br />
Oikeusturva Omavaraisuus Operaattori Osaaminen <br />
Ostovoima Palaute Palvelut Palvelutaso <br />
Peruskunto Pilvipalvelut Polttoaine Posti <br />
Puelueettomuus Pysäköinti Pyöräily Päivitys <br />
Pääkaupunkiseutu Päästöt Päätöksenteko Päätös <br />
Raha Rahoitus Rahtliikenne Rajapinnat <br />
Rakennemuutos Rakentaminen Raskas liikenne Rautatiet <br />
Riippuvuus Rikokset Robotisaatio Ruuhkamaksu <br />
Ruuhkautuminen Saatavuus Sateliittipaikannus Sovellukset <br />
Strategia Suunnittelu Sähkö Sähköauto <br />
Sääntely Säästöt Talous Talouskasvu <br />
Tarpeet Tasa-arvo Tasapuolisuus Tasavertaisuus <br />
Tavaraliikenne Tehokkuus Tekijänoikeus Tekniikkaneutraalius <br />
Tekninen tuki Teknologia Teknologianeutraalius Teollisuus <br />
Terveydenhuolto Terveys testi Tiedon avoimuus <br />
Tiedon hallinnointi Tiedon hallinta Tiedon hyödyntäminen Tieliikenne <br />
Tietoliikenne Tietoturva Toimilupa Toiminta <br />
Toimintavarmuus Toimivuus Tuki Turvallisuus <br />
Turvaverkko Tutkimus Tuuli TV <br />
Työllisyys Työn tekemiseen liittyvä Ulkomaat Uudistus <br />
Vaihtoehtoiset polttoaineet Vaikuttaminen Vaikutus Vakuutus <br />
Valinnanvapaus Valtio Varmenne Varmuus <br />
Vastuu Verkostoituminen Verotus Vesiliikenne <br />
Vesiliikenne, Tasavertaisuus Viestintäverkot Viranomaiset Yhteensopivuus <br />
Yhteiskunta Yhteiskuntamurros Yhteistyö Yhteysnopeus <br />
Yksityisautoilu Yksityisyydensuoja YLE Yleispalvelu <br />
Yleisradio Ympäristö Yritykset Öljy <br />
}}<br />
<br />
<rcode label="Näytä tilastoja/jakeita" name="jae_stats" embed=1 graphics=1 variables="<br />
name:sivu|description:Minkä sivun jakeita haluat tarkastella?|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:avainsanat|description:Hae jakeita joilla on ainakin yksi seuraavista avainsanoista|type:text|<br />
name:avainsanat_all|description:Hae jakeita joilla on kaikki seuraavat avainsanat|type:text|<br />
name:jaelista|description:Haluatko nähdä kaikki löydetyt jakeet?|type:selection|options:FALSE;En;TRUE;Kyllä|default:FALSE|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
library(ggplot2)<br />
<br />
filter <- list()<br />
if (nchar(gsub(" ", "", avainsanat)) > 0) {<br />
avainsanat <- strsplit(avainsanat, ",")[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat) <br />
} else {<br />
avainsanat <- NULL<br />
}<br />
if (nchar(gsub(" ", "", avainsanat_all)) > 0) {<br />
avainsanat_all <- strsplit(avainsanat_all, ",")[[1]]<br />
avainsanat_all <- gsub("^\\s*|\\s*$", "", avainsanat_all)<br />
#filter$Avainsana <- avainsanat_all<br />
} else {<br />
avainsanat_all <- NULL<br />
}<br />
filter$Sivu <- sivu<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
filter$Versio <- version<br />
<br />
if (length(filter) == 0) filter <- NULL<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
jaeid <- NULL<br />
<br />
if (!is.null(avainsanat)|!is.null(avainsanat_all)) {<br />
tags <- tags[tags$Result %in% c(avainsanat, avainsanat_all), ]<br />
jaeid <- unique(as.character(tags$JaeID))<br />
}<br />
<br />
if(!is.null(avainsanat_all)) {<br />
temp <- list()<br />
for (i in 1:nrow(jaeid)) {<br />
temp[[i]] <- avainsanat_all %in% tags$Result[tags$JaeID == jaeid[i]]<br />
}<br />
temp <- lapply(temp, all)<br />
jaeid <- jaeid[temp]<br />
tags <- tags[tags$JaeID %in% jaeid,]<br />
}<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt.\n")<br />
}<br />
<br />
if (is.null(filter)) {<br />
filter2 <- list()<br />
} else {<br />
filter2 <- filter<br />
}<br />
<br />
filter2$JaeID <- jaeid<br />
<br />
if (length(filter2) == 0) filter2 <- NULL<br />
<br />
if (jaelista) {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = filter2$Sivu, # *list$non-existent returns NULL<br />
versio = filter2$Versio, <br />
jae = filter2$JaeID<br />
)<br />
if (nrow(jakeet) == 0) {<br />
cat("Avainsanoissa listattuja jakeita ei löytynyt.\n")<br />
} else {<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Sisältö"<br />
tagged <- NULL<br />
if (nrow(tags) > 0) {<br />
#tagged <- join(<br />
# jakeet[c("Versio", "Sivu", "Aihe", "JaeID")], <br />
# tags[c("Versio", "Sivu", "JaeID", "Result")]<br />
#)<br />
#colnames(tagged)[colnames(tagged) == "Result"] <- "Avainsana"<br />
tagged <- tapply(tags$Result, tags[c("Versio", "Sivu", "JaeID")], paste, collapse = ", ")<br />
tagged <- as.data.frame(as.table(tagged))<br />
colnames(tagged)[colnames(tagged) == "Freq"] <- "Avainsanat"<br />
tagged <- join(<br />
jakeet[c("Versio", "Sivu", "JaeID", "Sisältö")], <br />
tagged[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
type = "inner",<br />
match = "first"<br />
)<br />
oprint(<br />
tagged[c("Versio", "Sivu", "JaeID", "Sisältö", "Avainsanat")],<br />
caption = "Jakeet", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = rep(0, 6)<br />
)<br />
}<br />
}<br />
}<br />
<br />
if (nrow(tags) > 0) {<br />
tags_out <- ddply(tags, "Result", nrow)<br />
colnames(tags_out) <- c("Avainsana", "Lukumäärä")<br />
tags_out <- tags_out[order(tags_out$Lukumäärä, decreasing = TRUE),]<br />
oprint(<br />
tags_out,<br />
caption = "Avainsanojen lukumäärät", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = c(0, 0, 0)<br />
)<br />
ggplot(tags_out, aes(x = Avainsana, y = Lukumäärä, fill = Avainsana)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Avainsanojen frekvenssit")<br />
}<br />
<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter3 <- list()<br />
filter3$Sivu1 <- sivu<br />
filter3$Versio <- version<br />
filter3$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter3$JaeID1 <- NULL<br />
filter3$Sivu1 <- NULL<br />
filter3$JaeID2 <- jaeid<br />
filter3$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
related <- rel[<br />
rel$Result %in% c(<br />
"on neutraali suhteessa", <br />
"on uusi linjaus tai painotus", <br />
"tukee tai on linjassa", <br />
"vastustaa tai on ristiriidassa"<br />
), ]<br />
related$Result <- as.character(related$Result)<br />
affected <- rel[<br />
rel$Result %in% c(<br />
"ehdotus ei ole antanut aihetta muutoksiin",<br />
"ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun", <br />
"ehdotus huomioitu ja liittyvää painotusta muutettu",<br />
"ehdotus huomioitu ja uusi kohta lisätty"<br />
), ]<br />
affected$Result <- as.character(affected$Result)<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin"] <- "Ei aihetta muutoksiin"<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun"] <- "Sisältyy valmiiksi"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja liittyvää painotusta muutettu"] <- "Huomioitu painotuksella"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja uusi kohta lisätty"] <- "Huomioitu lisäyksellä"<br />
<br />
related_out <- ddply(related, "Result", nrow)<br />
colnames(related_out) <- c("Relaatio", "Lukumäärä")<br />
<br />
affected_out <- ddply(affected, "Result", nrow)<br />
colnames(affected_out) <- c("Sisällytys", "Lukumäärä")<br />
}<br />
<br />
if (nrow(related_out > 0)) {<br />
ggplot(related_out, aes(x = Relaatio, y = Lukumäärä, fill = Relaatio)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Relaatioiden frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
<br />
if (nrow(affected_out > 0)) {<br />
ggplot(affected_out, aes(x = Sisällytys, y = Lukumäärä, fill = Sisällytys)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Sisällytyksen frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
</rcode><br />
<br />
== Työkalut ==<br />
'''Aineiston työstämiseen tarkoitettuja koodeja.'''<br />
=== Jakeet ===<br />
==== Jaehakukone ====<br />
'''Hakee jakeita annetuilla kriteereillä. Näyttää myös tekniset sarakkeet. Vapaakenttiin voi laittaa useita arvoja erottelemalla ne pilkuilla.'''<br />
<rcode label="Näytä jakeet" name="jakeet" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Jakeita ei löytynyt!\n")<br />
}<br />
</rcode><br />
<br />
==== Jakeenlisäyskone ====<br />
'''Lisää tietokantaan vapaasti määriteltävän jakeen. Lisätyt jakeet näkyvät tämän sivun hakukoneissa. Niiden JaeID:llä on "L"-etuliite.'''<br />
<rcode label="Lisää jae" name="jakeenlisays" embed=1 variables="<br />
name:sivu|description:Sivu jolle jae lisätään|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:sisalto|description:Jakeen sisältö|type:textbox|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame( <br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
JaeID = NA,<br />
Result = sisalto<br />
)<br />
<br />
ident.subset <- paste(ident, "Jakeenlisaykset", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
filter$Sivu <- sivu<br />
<br />
upload_with_autoid(<br />
out,<br />
ident.subset,<br />
id_name = "JaeID",<br />
pagename = pagename,<br />
prefix = "L",<br />
filter = filter<br />
)<br />
</rcode><br />
<br />
==== Jakeenpoistokone ====<br />
'''Merkitsee jakeen epäkelvoksi, jolloin se jätetään näyttämättä kaikissa tämän sivun hakukoneissa.'''<br />
<rcode label="Poista jae" name="jakeenpoisto" embed=1 variables="<br />
name:sivu|description:Poistettavan jakeen sivu|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Poistettavan jakeen ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Tekninen jae';Tekninen jae;<br />
'Jae ei liity sivun aiheeseen';Jae ei liity sivun aiheeseen;<br />
'Jae on häiriköintiä';Jae on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jaeid <- strsplit(jaeid, ",", fixed = TRUE)[[1]]<br />
jaeid <- gsub(" ", "", jaeid)<br />
<br />
if (sum(nchar(jaeid)) == 0) stop("Anna jakeen ID")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame(<br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = as.character(jaeid)<br />
)<br />
<br />
opbase.upload(<br />
out, <br />
who = wiki_username, <br />
name = pagename,<br />
subset = "Jakeenpoistot",<br />
act_type = "append", <br />
language = "fin"<br />
)<br />
</rcode><br />
<br />
=== Avainsanat ===<br />
==== Avainsanahakukone ====<br />
'''Hakee jaekohtaisia avainsanoja. Näyttää datan sellaisena kuin se on tietokannassa.'''<br />
<rcode label="Näytä avainsanat" name="avainsanat_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka avainsanoja haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
out <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
==== Avainsanoitus ====<br />
'''Lisää tietokantaan annetut avainsanat. Avainanoja voidaan lisätä ruksaamalla annetusta listasta (vain yleisimmät) ja syöttämällä vapaakenttään pilkulla eroteltuna.'''<br />
<rcode label="Lisää avainsana" name="avainsananlisays" embed=1 variables="<br />
name:sivu|description:Minkä sivun jakeelle haluat lisätä avainsanoja?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Mikä on jakeen versio?|type:text|default:nykyinen|<br />
name:jae|description:Mikä on jakeen ID?|type:text|<br />
name:yl_avainsanat|description:Valitse alla olevasta listasta yleisiä avainsanoja.|type:checkbox|options:<br />
'Päätös';A Päätös (jae sisältää päätös- tai toimintaehdotuksen);<br />
'Vaikutus';B Vaikutus (jae kuvaa ilmiötä tai vaikutusta);<br />
'Arvo';C Arvo (jakeessa on arvoarvostelma tai kuvaa asian merkitystä);<br />
'Työn tekemiseen liittyvä';D Katsaustyön tekemiseen liittyvä;<br />
'Epäselvä luokka';E Ei mikään edellisistä (valitse ainakin yksi A-E)|<br />
name:avainsanat|description:Laita halutessasi yllä listaamattomattomia avainsanoja tähän pilkulla eroteltuna.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
avainsanat <- strsplit(avainsanat, ",", fixed = TRUE)[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat)<br />
avainsanat <- avainsanat[nchar(avainsanat) > 0]<br />
avainsanat <- c(yl_avainsanat, avainsanat)<br />
if (length(avainsanat) == 0) stop("Yhtään avainsanaa ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
AvainsanaID = NA, <br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Sivu = sivu,<br />
JaeID = as.character(jae), <br />
Result = avainsanat<br />
)<br />
<br />
ident.subset <- paste(ident, "Avainsanat", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "AvainsanaID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Avainsanojen lisääminen onnistui.\n")<br />
</rcode><br />
<br />
==== Avainsanan poisto ====<br />
'''Merkitsee avainsanan epäkelvoksi, jolloin tämän sivun hakukoneet eivät näytä sitä.'''<br />
<rcode name="avainsananpoisto" embed=1 label="Poista avainsana" showcode=0 variables="<br />
name:avid|description:Poistettavan avainsanan ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Avainsana ei päde uudessa versiossa';Avainsana ei päde uudessa versiossa;<br />
'Virheellinen avainsana';Virheellinen avainsana|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
avid <- strsplit(avid, ",", fixed = TRUE)[[1]]<br />
avid <- gsub(" ", "", avid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = avid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Avainsana poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
<br />
<br />
=== Relaatiot ===<br />
==== Relaatiohakukone ====<br />
'''Hakee relaatioita joissa mahdollisesti annetut jakeet esiintyvät. Näyttää datan sellaisena kuin se on tietokannassa.'''<br />
<rcode label="Näytä relaatiot" name="relaatiot_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka relaatioita haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
out <- rbind(rel1, rel2)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(<br />
out, <br />
include.rownames = FALSE,<br />
caption = "Relaatiot", <br />
caption.placement = "top"<br />
)<br />
} else {<br />
cat("Relaatioita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
==== Relaation lisääminen ====<br />
'''Lisää uuden relaation tietokantaan. Samantyyppisiä relaatioita voi kerralla lisätä useita, kun erottelee JaeID:t pilkuilla: relaatiot määräytyvät kaikki yhteen, yksi kaikkiin tai yksi yhteen. '''<br />
<rcode label="Lisää relaatio" name="relaatio" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:nykyinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID?|type:text|<br />
name:relaatio|description:'''Kuinka lähtöjae liittyy kohdejakeeseen?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'tukee tai on linjassa';tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';on neutraali suhteessa;<br />
'on uusi linjaus tai painotus';on uusi linjaus tai painotus;<br />
'kuuluu ryhmään/kokoelmaan';kuuluu ryhmään/kokoelmaan|<br />
name:lisarelaatio|description:VAPAAEHTOINEN Voit antaa oman jakeiden välisen relaation vapaakenttään.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
relaatio <- ifelse(lisarelaatio == '', relaatio, lisarelaatio)<br />
if (nchar(gsub(" ", "", relaatio)) == 0) stop("Relaatiota ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = relaatio<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Relaation lisääminen onnistui.\n")<br />
<br />
</rcode><br />
==== Sisällytyksen lisääminen ====<br />
'''Lisää uuden sisällytyksen tietokantaan. Sisällytys tapahtuu aina seuraavaan versioon. Samantyyppisiä sisällytyksiä voi kerralla lisätä useita, kun erottelee JaeID:t pilkuilla: sisällytykset määräytyvät kaikki yhteen, yksi kaikkiin tai yksi yhteen. '''<br />
<rcode label="Lisää sisällytys" name="sisallytys" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:edellinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID (uudemmassa versiossa)?|type:text|<br />
name:sisallytys|description:'''Sisällytettiinkö ehdotus uudempaan versioon?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun;<br />
'ehdotus ei ole antanut aihetta muutoksiin';ehdotus ei ole antanut aihetta muutoksiin|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
if (nchar(gsub(" ", "", sisallytys)) == 0) stop("Sisällytyksen tyyppiä ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "edellinen") {<br />
version <- get_current_version(ident) - 1<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = sisallytys<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Sisällytyksen lisääminen onnistui.\n")<br />
<br />
</rcode><br />
==== Relaation poisto ====<br />
'''Merkitsee relaation/sisällytyksen epäkelvoksi, jolloin tämän sivun hakukoneet eivät näytä sitä.'''<br />
<rcode name="relaationpoisto" embed=1 label="Poista relaatio" showcode=0 variables="<br />
name:relid|description:Poistettavan relaation ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Relaatio ei päde uudessa versiossa';Relaatio ei päde uudessa versiossa;<br />
'Virheellinen relaatio';Virheellinen relaatio|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
relid <- strsplit(relid, ",", fixed = TRUE)[[1]]<br />
relid <- gsub(" ", "", relid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = relid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Relaatio poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Sulautus (automaattinen sisällytys) ===<br />
'''Etsii edellisestä versiosta jakeita joiden sisältö löytyy uudessa versiossa jonkin jakeen sisällöstä. Koodi on keskeneräinen johtuen R:n peruskirjaston sisäisestä bugista joka estää samanaikaisen approksimaalisen että osittaisen osuman haun.''' <br />
{{tuloslinkki}}<br />
<br />
<rcode label="Etsi sulautuksia" name="sulautus" embed=0 variables="<br />
name:sivu|description:Sivut joihin sulautus tehdään (kaikista edellisen version jakeista)|type:checkbox|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:toleranssi|description:Toleranssi (Levenshtein distance)|default:5|<br />
name:tallenna|description:Tallenna kantaan|type:selection|options:TRUE;Kyllä;FALSE;Ei|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
mdat <- get_meta_data(ident)<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
version <- c(version - 1, version)<br />
<br />
jakeet <- jaehakukone(ident, versio = version)<br />
<br />
ver1 <- jakeet[jakeet$Versio == version[1],]<br />
ver2 <- jakeet[jakeet$Versio == version[2] & jakeet$Sivu == sivu,]<br />
<br />
# adist too slow<br />
d <- adist(<br />
ver1$Result, <br />
ver2$Result,<br />
fixed = FALSE<br />
)<br />
d[is.na(d)] <- Inf<br />
#d_min <- apply(d, 1, min)<br />
#d_tol <- d <= toleranssi<br />
#d_out <- apply(d, 1, which.min)<br />
<br />
colnames(ver1)[colnames(ver1) == "Versio"] <- "Versio1"<br />
colnames(ver1)[colnames(ver1) == "Sivu"] <- "Sivu1"<br />
colnames(ver1)[colnames(ver1) == "JaeID"] <- "JaeID1"<br />
colnames(ver1)[colnames(ver1) == "Result"] <- "Result1"<br />
<br />
colnames(ver2)[colnames(ver2) == "Versio"] <- "Versio2"<br />
colnames(ver2)[colnames(ver2) == "Sivu"] <- "Sivu2"<br />
colnames(ver2)[colnames(ver2) == "JaeID"] <- "JaeID2"<br />
colnames(ver2)[colnames(ver2) == "Result"] <- "Result2"<br />
<br />
#out <- cbind(ver1[d_min <= toleranssi, ], ver2[d_out[d_min <= toleranssi], ])<br />
<br />
d <- alply(d, 1, I)<br />
d_tol <- llply(d, function(x) {x <= toleranssi})<br />
d_reps <- laply(d_tol, sum)<br />
d_w <- llply(d_tol, which)<br />
d_w <- unlist(d_w)<br />
<br />
out <- cbind(ver1[rep(1:nrow(ver1), d_reps),], ver2[d_w, ])<br />
<br />
#d <- NULL<br />
#n <- NULL<br />
#for (i in 1:nrow(ver1)) {<br />
# for (j in split(ver2$Result, ceiling((1:nrow(ver2)) / 100))) {<br />
# temp <- agrep(ver1$Result[i], j, toleranssi)<br />
# d <- append(d, temp)<br />
# n <- append(n, length(temp))<br />
# }<br />
#}<br />
<br />
#out <- cbind(<br />
# ver1[rep(1:nrow(ver1), n),],<br />
# ver2[d,]<br />
#)<br />
if (tallenna) {<br />
opbase.upload(<br />
out,<br />
name = pagename,<br />
who = wiki_username,<br />
subset = "Sulautukset"<br />
)<br />
} else { <br />
oprint(<br />
out, <br />
include.rownames = FALSE, <br />
digits = rep(0, ncol(out) + 1), <br />
caption("Sulautus uuteen versioon"), <br />
caption.placement = "top",<br />
show.all = TRUE<br />
)<br />
}<br />
</rcode><br />
<br />
== Versiot ==<br />
<br />
<t2b name="Versiot" index="Versio,Sivu,Ident" unit="OldID"><br />
1|Liikenne ja viestintä palveluna|Op_fi4248|<br />
1|Liikenteen palvelumarkkinat|Op_fi4253|<br />
1|Liikenteen energiareformi|Op_fi4254|<br />
1|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
1|Monipuoliset sisällöt|Op_fi4256|<br />
1|Oma Painotus Teema I|Op_fi4257|<br />
1|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
1|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
1|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
1|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
1|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
1|Oma Painotus Teema II|Op_fi4262|<br />
1|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
1|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
1|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
1|Arktinen strategia|Op_fi4265|<br />
1|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
1|Oma Painotus Teema III|Op_fi4267|<br />
1|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
2|Liikenne ja viestintä palveluna|Op_fi4248|<br />
2|Liikenteen palvelumarkkinat|Op_fi4253|<br />
2|Liikenteen energiareformi|Op_fi4254|<br />
2|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
2|Monipuoliset sisällöt|Op_fi4256|<br />
2|Oma Painotus Teema I|Op_fi4257|<br />
2|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
2|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
2|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
2|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
2|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
2|Oma Painotus Teema II|Op_fi4262|<br />
2|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
2|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
2|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
2|Arktinen strategia|Op_fi4265|<br />
2|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
2|Oma Painotus Teema III|Op_fi4267|<br />
2|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
</t2b></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Taloudellinen_arviointi&diff=25961
Taloudellinen arviointi
2014-08-27T08:46:23Z
<p>Teemu R: /* Laskenta */ uudempi versio englanninkieliseltä sivulta</p>
<hr />
<div>{{muuttuja|edistyminen=Täysluonnos|edistymistaulu=Kyllä}}<br />
<br />
[[op_en:Economical_assessment]]<br />
<br />
== Kysymys == <br />
<br />
Jos rokotevalmiste on vaikuttavuudeltaan parempi mutta tarjotultaan hinnaltaan kalliimpi, milloin sillä saavutettu lisähyöty on lisäkustannuksen arvoinen? <br />
* Hyötyä arvioidaan rokotteen laajamittaisesta käytöstä seuraavalla invasiivisen pneumokokkitautitapausten vähenemisellä koko väestössä. Hyötyä eli vaikuttavuutta mitataan muutoksella laatupainotetuissa elinvuosissa (Quality-Adjusted Life Years, QALYs). <br />
* Kustannuksista otetaan huomioon vain terveydenhuollon kustannukset. <br />
<br />
== Vastaus ==<br />
<br />
Etsitään kustannusvaikuttavin rokote perusteluissa kuvattujen kriteerien mukaisesti.<br />
<br><br />
<br />
<br />
=== Laskenta ===<br />
<br />
<br />
Taloudellista arviointia varten laadittu ohjelmakoodi laskee inkrementaaliset kustannusvaikuttavuussuhteet (ICER) kahdelle vaihtoehtoiselle rokotteelle.<br />
<br />
Käyttäjältä kysytään seuraavat syötteet:<br />
<br />
(a) rokotteisiin sisällytettävät serotyypit (oletuksena PCV10 ja PCV13)<br />
<br />
(b) rokotteiden annoshinnat <br />
<br />
Ohjelma hyödyntää epidemiologisen mallin antamia ennusteita vakavan pneumokokkitaudin vuosittaisille tapausmäärille. <br />
<br />
Inkrementaaliset kustannusvaikuttavuussuhteet (ICER-arvot) listataan uuteen välilehteen aukeavalla ohjelman tulostussivulla yhteenvetotaulukossa 3. Pienempää ICER-arvoa vastaava rokote on vaihtoehdoista kustannusvaikuttavampi. <br />
<br />
<rcode embed=0 graphics=1 variables="<br />
name:vac|description:Valitse vertailtavat rokotteet|type:checkbox|options:<br />
'PCV10';PCV-10;<br />
'PCV13';PCV-13|<br />
default:'PCV10';'PCV13'|<br />
category:Vaihtoehdot|<br />
name:price10|description:Mikä on rokotteen PCV10 annoshinta?|type:text|default:10|<br />
name:price13|description:Mikä on rokotteen PCV13 annoshinta?|type:text|default:20|<br />
name:custom_vac|description:Haluatko muuttaa rokotteiden PCV-10 ja7tai PCV-13 serotyyppejä?|type:selection|options:<br />
FALSE;Ei;<br />
TRUE;Kyllä|<br />
default:FALSE|<br />
name:vac_user10|description:Valitse PCV-10 serotyypit|type:checkbox|options:<br />
'1';1;<br />
'3';3;<br />
'4';4;<br />
'5';5;<br />
'6A';6A;<br />
'6B';6B;<br />
'6C';6C;<br />
'7';7F;<br />
'8';8;<br />
'9N';9N;<br />
'9V';9V;<br />
'10';10;<br />
'11';11;<br />
'12';12;<br />
'14';14;<br />
'15';15;<br />
'16';16;<br />
'18C';18C;<br />
'19A';19A;<br />
'19F';19F;<br />
'20';20;<br />
'22';22;<br />
'23A';23A;<br />
'23F';23F;<br />
'33';33;<br />
'35';35;<br />
'38';38;<br />
'Oth';Other|<br />
default:'19F';'23F';'6B';'14';'9V';'4';'18C';'1';'7';'5'|<br />
category:User defined vaccine|<br />
category_conditions:custom_vac;TRUE|<br />
name:vac_user13|description:Valitse PCV-13 serotyypit|type:checkbox|options:<br />
'1';1;<br />
'3';3;<br />
'4';4;<br />
'5';5;<br />
'6A';6A;<br />
'6B';6B;<br />
'6C';6C;<br />
'7';7F;<br />
'8';8;<br />
'9N';9N;<br />
'9V';9V;<br />
'10';10;<br />
'11';11;<br />
'12';12;<br />
'14';14;<br />
'15';15;<br />
'16';16;<br />
'18C';18C;<br />
'19A';19A;<br />
'19F';19F;<br />
'20';20;<br />
'22';22;<br />
'23A';23A;<br />
'23F';23F;<br />
'33';33;<br />
'35';35;<br />
'38';38;<br />
'Oth';Other|<br />
default:'19F';'23F';'6B';'14';'9V';'4';'18C';'1';'7';'5';'19A';'3';'6A'<br />
"><br />
<br />
#http://fi.opasnet.org/fi/Special:Opasnet_Base?id=op_fi4433.pneumokokki_vaestossa<br />
library(OpasnetUtils)<br />
library(ggplot2) <br />
<br />
openv.setN(100)<br />
<br />
if (length(vac) == 0) stop("Mitään skenaariota ei valittu")<br />
<br />
vac <- c("No_vaccination",vac)<br />
<br />
if(price10 == '') price10 <- 0<br />
if(price13 == '') price13 <- 0<br />
n_vac <- 1.8e5<br />
<br />
vacprice <- data.frame(<br />
Vaccine = c("No_vaccination", "PCV10", "PCV13"),<br />
Result = c(0, price10, price13)<br />
)<br />
<br />
vacprice <- EvalOutput(Ovariable("vacprice", data = vacprice[vacprice$Vaccine %in% vac , ])) * n_vac<br />
<br />
temp <- opbase.data("Op_en6353", subset = "serotypes_in_typical_pneumococcal_vaccines")<br />
temp$Obs <- NULL<br />
colnames(temp)[colnames(temp) == "Result"] <- "Serotype"<br />
<br />
serotypes <- temp[temp$Vaccine == "Existing serotypes" , "Serotype"]<br />
<br />
userserotypes <- temp[temp$Vaccine %in% vac , ]<br />
<br />
if(custom_vac) {<br />
userserotypes <- data.frame(<br />
Vaccine = c(rep("PCV10", length(vac_user10)), rep("PCV13", length(vac_user13))),<br />
Serotype = c(vac_user10, vac_user13)<br />
)<br />
}<br />
<br />
# Näyttää monimutkaiselta tuo servacin määrittely. Eikö voisi tehdä helpomminkin?<br />
# -- Pointti on siis että kullekin käyttäjän valitsemalle rokotteelle tehdään merkintä <br />
# sen sisältämistä serotyypeistä 1 sisältyy 0 ei. Näin skenaariot saadaan tehtyä yksinkertaisella<br />
# kertolaskulla (ovariable). Alla oleva koodi on täysin vektorisoitu ja kiertää siten kaksi <br />
# lyhyttä for looppia (R:n puolella), mikä on kieltämättä aika pieni voitto tässä tapauksessa... <br />
<br />
servac <- merge(<br />
data.frame(userserotypes, Result = 1), # Serotypes, either default or user-defined<br />
merge(data.frame(Vaccine = vac), data.frame(Serotype = serotypes)), # All combinations of vaccines and serotypes<br />
all.y = TRUE<br />
)<br />
servac$Result <- as.numeric(!is.na(servac$Result))<br />
servac <- Ovariable(<br />
"servac", <br />
data = servac<br />
)<br />
<br />
objects.latest("Op_en6358", code_name = "initiate") # [[:op_en:Economic evaluation]] ovariable ICER, function sumtable<br />
objects.latest("Op_en6353", code_name = "initiate") # [[:op_en:Epidemiological modelling]] ovariables VacCar, VacIPD<br />
objects.latest("Op_en6007", code_name = "answer") # [[OpasnetUtils/Drafts]]<br />
<br />
## Read the annual IPD and carriage incidence data.<br />
## The 0 entries in IPD and carriage data are replaced by small values.<br />
<br />
#IPD <- Ovariable("IPD", ddata = "Op_fi4305.pneumokokki_vaestossa") #Op_fi4305=pääsivu, tässä vain 2 ikäluokkaa, tätät ei käytetä talousmalliin<br />
IPD <- Ovariable("IPD", ddata = "Op_fi4433.pneumokokki_vaestossa") #Op_fi4433=Markunkoesivu tässä 101 ikäluokkaa, talousmallin versio<br />
<br />
IPD@data <- IPD@data[IPD@data$Observation == "Incidence" , colnames(IPD@data) != "Observation"]<br />
<br />
#Car <- Ovariable("Car", ddata = "Op_fi4305.pneumokokki_vaestossa")<br />
Car <- Ovariable("Car", ddata = "Op_fi4433.pneumokokki_vaestossa") # [[Markunkoesivu]]<br />
Car@data <- Car@data[Car@data$Observation == "Carrier" , colnames(Car@data) != "Observation"]<br />
<br />
<br />
p_user <- q_user <- adultcarriers <- 1<br />
<br />
p <- Ovariable("p", data = data.frame(Result = p_user))<br />
q <- EvalOutput(Ovariable("q", data = data.frame(Result = q_user))) <br />
# EvalOutput must be used because q is mentioned twice in the code and there will otherwise be a merge mismatch.<br />
<br />
## The true number of adult carriers may actually be larger than estimated. This adjusts for that.<br />
#Car <- Car * Ovariable("adjust", data = data.frame(Age = c("Under 5", "Over 5"), Result = c(1, adultcarriers)))<br />
<br />
#VacCar <- EvalOutput(VacCar)<br />
VacIPD <- EvalOutput(VacIPD)<br />
<br />
if (1==0) {<br />
cat("servac\n")<br />
oprint(summary(servac))<br />
<br />
<br />
cat("Number of carriers\n")<br />
oprint(summary(VacCar))<br />
cat("Incidence of invasive pneumococcal disease.\n")<br />
oprint(summary(VacIPD)) <br />
}<br />
<br />
#if("Iter" %in% colnames(VacCar@output)) N <- max(VacCar@output$Iter) else N <- 1<br />
if("Iter" %in% colnames(VacIPD@output)) N <- max(VacIPD@output$Iter) else N <- 1<br />
<br />
if (1==0) {ggplot(VacCar@output, aes(x = Serotype, weight = result(VacCar) / N, fill = Vaccine)) + geom_bar(position = "dodge") + theme_gray(base_size = 24) + <br />
labs(title = "Carriers", y = "Number of carriers in Finland") }<br />
<br />
ggplot(VacIPD@output, aes(x = Serotype, weight = result(VacIPD) / N, fill = Vaccine)) + geom_bar(position = "dodge") + theme_gray(base_size = 24) +<br />
labs(title = "Figure 1. Number of IPD cases per year, by serotype.", y = "Number of cases per year")<br />
<br />
VacIPD@output$Agegroup <- cut(<br />
as.numeric(levels(VacIPD@output$Age[VacIPD@output$Age])), <br />
breaks = c(0, 3, 5, 15, 65, 80, 101),<br />
include.lowest = TRUE<br />
)<br />
VacIPD@marginal <- c(VacIPD@marginal, FALSE)<br />
#oprint(VacIPD)<br />
ggplot(VacIPD@output, aes(x = Vaccine, weight = result(VacIPD) / N, fill = Agegroup)) + geom_bar(position = "stack") + theme_gray(base_size = 24) +<br />
labs(title = "Figure 2. Number of IPD cases per year, by age group.", y = "Number of cases per year")<br />
<br />
######################<br />
<br />
#QALYpercase <- Ovariable("QALYpc", ddata = "Op_en6358.qalys_lost") # [[Economic evaluation]] QALYs per case<br />
<br />
#costpercase <- Ovariable("costpc", ddata = "Op_en6358.costs_incurred") # [[Economic evaluation]] QALYs per case<br />
<br />
#QALY <- VacIPD * QALYpercase <br />
<br />
#cost <- VacIPD * costpercase + vacprice<br />
<br />
# Sum over Serotype<br />
VacIPD <- oapply(VacIPD, NULL, sum, c("Serotype"), na.rm = TRUE)<br />
<br />
Costs <- EvalOutput(Costs) # Healthcare costs<br />
Total_costs <- oapply(Costs, NULL, sum, c("Outcome", "Age"))<br />
#oprint(Total_costs)<br />
Total_costs <- oapply(Total_costs, Total_costs@output[colnames(Total_costs@output) %in% c("Vaccine", "Iter")], mean)<br />
health_care_costs <- Total_costs<br />
Total_costs <- Total_costs + vacprice<br />
Total_costs@output <- Total_costs@output[c(colnames(Total_costs@output)[colnames(Total_costs@output) %in% c("Vaccine", "Iter")], "Result")]<br />
Total_costs@marginal <- colnames(Total_costs@output) %in% c("Vaccine", "Iter")<br />
<br />
QALYs <- EvalOutput(QALYs)<br />
<br />
<br />
<br />
#### Tässä voi tehdä tapauskohtaista säätöä valitsemalla sopivat indeksit.<br />
<br />
qalyind <- "Vaccine"<br />
if("Iter" %in% colnames(QALYs@output)) qalyind <- c(qalyind, "Iter")<br />
<br />
#costind <- "Vaccine"<br />
#if("Iter" %in% colnames(Total_costs@output)) costind <- c(costind, "Iter")<br />
<br />
qalysum <- oapply(QALYs, INDEX = QALYs@output[qalyind], FUN = sum)<br />
qalysum@name <- ""<br />
colnames(qalysum@output)[colnames(qalysum@output) == "QALYsResult"] <- "Result"<br />
<br />
#costsum <- oapply(Total_costs, INDEX = Total_costs@output[costind], FUN = sum)<br />
costsum <- Total_costs<br />
<br />
#oprint(costsum)<br />
#oprint(qalysum)<br />
<br />
#### The actual model<br />
<br />
ICER <- EvalOutput(ICER)<br />
<br />
if (FALSE){#!is.null(debug_plot)) {<br />
temp <- QALYs<br />
temp <- oapply(temp, NULL, sum, "Outcome")<br />
temp@output$Age <- as.numeric(as.character(temp@output$Age))<br />
plot1 <- ggplot(<br />
temp@output, <br />
aes(x = Age, y = QALYsResult, colour = Vaccine, group = Vaccine)<br />
) + geom_line() + theme_gray(base_size = 24) + labs(title = "QALYs lost due to IPD", y = "QALYs lost per year")<br />
# + facet_wrap(~ Outcome)<br />
<br />
temp <- Costs<br />
temp <- oapply(temp, NULL, sum, "Outcome")<br />
temp@output$Age <- as.numeric(as.character(temp@output$Age))<br />
plot2 <- ggplot(<br />
temp@output, <br />
aes(x = Age, y = CostsResult, colour = Vaccine, group = Vaccine)<br />
) + geom_line() + theme_gray(base_size = 24) + labs(title = "IPD health care cost (excl. vaccination)", y = "")<br />
# + facet_wrap(~ Outcome)<br />
<br />
temp <- VacIPD<br />
temp@output$Age <- as.numeric(as.character(temp@output$Age))<br />
plot3 <- ggplot(<br />
temp@output, <br />
aes(x = Age, y = VacIPDResult, colour = Vaccine, group = Vaccine)<br />
) + geom_line() + theme_gray(base_size = 24) + labs(title = "IPD cases per year", y = "Cases per year")<br />
}<br />
#if (!is.null(debug_plot)) plot3<br />
#if (!is.null(debug_plot)) plot2<br />
#if (!is.null(debug_plot)) plot1<br />
<br />
# Rigid implementation which doesnt allow uncertainty...<br />
<br />
qorder <- qalysum@output$Vaccine[order(result(qalysum), decreasing = TRUE)]<br />
<br />
QALYs_incremental <- c(0, -diff(result(qalysum)[match(qorder, qalysum@output$Vaccine)]))<br />
QALYs_gained <- cumsum(QALYs_incremental)<br />
Cost_total <- result(Total_costs)[match(qorder, Total_costs@output$Vaccine)]<br />
Cost_incremental <- c(0,diff( Cost_total))<br />
ICER2 <- Cost_incremental / QALYs_incremental<br />
ICER2[1] <- 0<br />
<br />
ipdtable <- oapply(VacIPD, VacIPD@output["Vaccine"], sum)@output<br />
colnames(ipdtable)[colnames(ipdtable) == "VacIPDResult"] <- "N_of_IPD_cases"<br />
<br />
oprint(<br />
ipdtable[order(match(ipdtable$Vaccine, qorder)),],<br />
sortable = FALSE,<br />
include.rownames = FALSE, <br />
caption = "Table 1. Number of cases of invasive pneumococcal disease (IPD) per year (see also Figures 1-2 below).", <br />
caption.placement = "top",<br />
digits = rep(0, ncol(ipdtable) + 1)<br />
) <br />
<br />
##############################<br />
## print health care costs table<br />
<br />
sum_table1A <- data.frame(<br />
Vaccine = qorder,<br />
Medical_costs = result(health_care_costs)[match(qorder,health_care_costs@output$Vaccine)] * 1e-6,<br />
Vaccine_programme_cost = result(vacprice) * 1e-6,<br />
Health_care_costs = result(costsum)[match(qorder,costsum@output$Vaccine)] * 1e-6<br />
)<br />
oprint(<br />
sum_table1A,<br />
sortable = FALSE,<br />
include.rownames = FALSE, <br />
caption = "Table 2. Health care costs (in MEUR)", <br />
caption.placement = "top",<br />
digits = c(0,0,2,2,2)<br />
)<br />
<br />
##############################<br />
## print summary table<br />
<br />
<br />
<br />
tekstia<-data.frame(Columns=c(" 1 Vaccine ",<br />
" 2 QALYs gained ",<br />
" 3 Incremental effect ",<br />
" 4 Health-case costs ",<br />
" 5 Incremental cost ",<br />
" 6 ICER ",<br />
" "),<br />
Content=c("vaccination programme",<br />
"QALYs gained in the Finnish population (*) as compared to 'no vaccination'",<br />
"difference in QALYs gained",<br />
"medical costs due to IPD in the Finnish population(*) plus the cost of vaccination (in MEUR, 180000 doses) ",<br />
"health-care cost difference (in MEUR)",<br />
"incremental cost-effectiveness ratio (in euros). The programme with the lower ICER is identified as the more cost-effective",<br />
"(*) QALYs and health-care costs refer to the Finnish population of 5.4 million individuals"))<br />
<br />
oprint(<br />
tekstia, <br />
include.rownames = FALSE, <br />
include.colnames = FALSE, <br />
caption = "Columns appearing in Table 3 (below)", <br />
caption.placement = "top"<br />
)<br />
<br />
<br />
<br />
sum_table2 <- data.frame(<br />
Vaccine = qorder,<br />
QALYs_gained = QALYs_gained,<br />
Incremental_effect = QALYs_incremental,<br />
Health_care_costs = Cost_total * 1e-6,<br />
Incremental_cost = Cost_incremental * 1e-6,<br />
ICER = ICER2<br />
)<br />
<br />
oprint(<br />
sum_table2,<br />
sortable = FALSE,<br />
include.rownames = FALSE, <br />
caption = "Table 3. Cost-effectiveness analysis summary table ", <br />
caption.placement = "top",<br />
digits = c(0,0,0,0,2,2,2)<br />
)<br />
</rcode><br />
<br />
===Alustuspainikkeet (vain sovelluskehittäjille)===<br />
Funktioiden alustus <br />
<rcode name="initiate" label="Initiate variables" embed=1><br />
<br />
library(OpasnetUtils)<br />
<br />
# Initiate model components<br />
<br />
primary_outcomes <- Ovariable("primary_outcomes", ddata = "Op_en6358.primary_outcomes")<br />
secondary_outcomes <- Ovariable("secondary_outcomes", ddata = "Op_en6358.secondary_outcomes")<br />
costs_per_outcomes <- Ovariable("costs_per_outcomes", ddata = "Op_en6358.costs_per_outcomes")<br />
QALYs_per_outcomes <- Ovariable("QALYs_per_outcomes", ddata = "Op_en6358.QALYs_per_outcomes")<br />
<br />
Outcomes <- Ovariable(<br />
"Outcomes", <br />
dependencies = data.frame(<br />
Name = c("primary_outcomes", "secondary_outcomes", "VacIPD"),<br />
Ident = c(rep("Op_en6358/initiate", 2), "Op_en6353/initiate")<br />
),<br />
formula = function(...) {<br />
# Primaries<br />
out <- VacIPD * primary_outcomes<br />
<br />
# Secondaries<br />
temp <- out * secondary_outcomes<br />
<br />
# Combine outcomes under single index<br />
temp@output <- temp@output[!colnames(temp@output) %in% "Outcome"]<br />
colnames(temp@output)[colnames(temp@output) == "Outcome_new"] <- "Outcome"<br />
temp@output <- temp@output[colnames(temp@output) %in% colnames(out@output)]<br />
out <- orbind(out, temp)<br />
return(out)<br />
}<br />
)<br />
<br />
# Healthcare costs<br />
Costs <- Ovariable(<br />
"Costs", <br />
dependencies = data.frame(<br />
Name = c("Outcomes", "costs_per_outcomes"),<br />
Ident = rep("Op_en6358/initiate", 2)<br />
),<br />
formula = function(...) {<br />
out <- Outcomes * costs_per_outcomes<br />
return(out)<br />
}<br />
)<br />
<br />
# QALYs lost<br />
QALYs <- Ovariable(<br />
"QALYs", <br />
dependencies = data.frame(<br />
Name = c("Outcomes", "QALYs_per_outcomes"),<br />
Ident = rep("Op_en6358/initiate", 2)<br />
),<br />
formula = function(...) {<br />
out <- Outcomes * QALYs_per_outcomes<br />
return(out)<br />
}<br />
)<br />
<br />
<br />
# Initiate analysis ovariable ICER and function sumtable<br />
<br />
ICER <- Ovariable("ICER", <br />
dependencies = data.frame(Name = c(<br />
"qalysum", <br />
"costsum",<br />
"QALYs"<br />
)),<br />
formula = function(...) {<br />
<br />
qalyorder <- oapply(QALYs, INDEX = QALYs@output["Vaccine"], FUN = sum)<br />
qalyorder <- as.character(qalyorder@output$Vaccine[order(result(qalyorder), decreasing = TRUE)])<br />
<br />
qalysum2 <- qalysum<br />
costsum2 <- costsum<br />
<br />
# Take the Vaccine group from the previous group (based on reverse QALY order, i.e. worst first.<br />
levels(qalysum2@output$Vaccine) <- qalyorder[match(levels(qalysum2@output$Vaccine), qalyorder) + 1]<br />
levels(costsum2@output$Vaccine) <- qalyorder[match(levels(costsum2@output$Vaccine), qalyorder) + 1]<br />
<br />
# Remove NAs from the index or otherwise they will match anything.<br />
qalysum2@output <- qalysum2@output[!is.na(qalysum2@output$Vaccine) , ]<br />
costsum2@output <- costsum2@output[!is.na(costsum2@output$Vaccine) , ]<br />
<br />
out <- (costsum - costsum2) / (-1 * (qalysum - qalysum2)) # The formula calls for QALY _savings_, hence * -1<br />
<br />
return(out)<br />
}<br />
)<br />
<br />
sumtable <- function() {<br />
out <- merge(<br />
merge(<br />
merge(<br />
qalysum@output, <br />
costsum@output, by = "Vaccine"<br />
),<br />
vacprice@output, all.x = TRUE<br />
),<br />
ICER@output, all.x = TRUE<br />
)<br />
<br />
out <- out[c("Vaccine", "Result.x", "Result.y", "vacpriceResult", "ICERResult")]<br />
colnames(out) <- c("Vaccine", "QALY", "Costs incl. price", "Vaccination price", "ICER")<br />
out <- out[ order(out$QALY, decreasing = TRUE) , ]<br />
<br />
return(out)<br />
}<br />
<br />
objects.store(primary_outcomes, secondary_outcomes, costs_per_outcomes, QALYs_per_outcomes, Outcomes, Costs, QALYs, ICER, sumtable)<br />
<br />
cat("Initiated ovariables primary_outcomes, secondary_outcomes, costs_per_outcomes, QALYs_per_outcomes, Outcomes, Costs, QALYs, ICER and function sumtable\n")<br />
<br />
</rcode><br />
Kustannuslaskentakoodin alustus <br />
<rcode name="cost_calculation" label="Initiate cost calculation objects" embed=1><br />
<br />
library(OpasnetUtils)<br />
<br />
<br />
cost_table <- opasnet.csv("/0/0e/Pneumococcus_cost_table.csv", wiki = "opasnet_en")<br />
<br />
<br />
<br />
<br />
<br />
#cost_table<-re#ad.table("Cost_Table.dat")<br />
## 101*8 taulukko<br />
<br />
## Title of cost_table:<br />
## QALY losses and medical costs per case, separately for meningitis and bacteremia. <br />
## (Note: QALY losses and costs for meningitis cases include sequlae.)<br />
<br />
<br />
##Columns of cost_table :<br />
#1# Age (years)<br />
age<-cost_table[,1]<br />
#2# QALYs lost due to one meningitis case (incl. sequlae)<br />
QALY_men<-cost_table[,2]<br />
#3# QALYs lost due to one bacteremia case<br />
QALY_bac<-cost_table[,3]<br />
#4# case-fatality ratio for a meningitis or bacteremia case (ie for an IPD case)<br />
CFR<-cost_table[,4]<br />
#5# life years lost per one fatal IPD case<br />
LYL<-cost_table[,5]<br />
#6# Medical costs due to one meningitis case (including sequlae)<br />
COST_men<-cost_table[,6]<br />
#7# Medical costs due to one bacteremia case<br />
COST_bac<-cost_table[,7]<br />
#8# Proportion of meningitis cases among all IPD cases (rest are bacteremia)<br />
PROP_men<-cost_table[,8]<br />
<br />
## Tässä koodissa "Cost_calculation.R" luetaan taulukko "Cost_Table.dat" ja muunnetaan <br />
## se taukukoksi "Loss_per_IPDcase" vastaamaan yhtä IPD tapausta. <br />
##<br />
## Tällöin kust.vaik.-mallin antamat tulokset saadaan funktiossa <br />
## "calc_qalys_and_med_costs" kun argumentiksi annetaan IPD tapausten määrät <br />
## Suomessa ikävuosittain (101 kpl). Nämä IPD tapausten määrät vastaavat joko <br />
## "ei rokoteta" tilannetta tai lasketaan epidemiologisen mallin avulla eri <br />
## rokotevaihtiehdoille. (opasnetissä IPD-vektorit saadaan siis ovariablien kautta).<br />
##<br />
## Funktio "calc_3_ouput_tables" tuottaa 3 tulostaulukkoa. <br />
## Nämä ovat kust.vaik.-mallin lopputulokset.<br />
<br />
## Markku Nurhonen 15.8.2014<br />
######################################################################################<br />
<br />
<br />
<br />
<br />
## Adjust matrix "Loss_per_case" to correspond to one ipd case<br />
## (instead of just meningitis or bacterremia case)<br />
onevec<-rep(1,101)<br />
adjustment<-cbind(onevec,PROP_men,(onevec-PROP_men),onevec,CFR,PROP_men,(onevec-PROP_men),onevec)<br />
Loss_per_case<-cbind(age,QALY_men,QALY_bac,CFR,LYL,COST_men,COST_bac,PROP_men)<br />
Loss_per_IPDcase<-Loss_per_case*adjustment<br />
<br />
## Matriisia Loss_per_IPDcase käytetään päivitettäessä<br />
## kustannuksia ja QALY-arvoja IPD insidenssien muuttuessa<br />
## rokotteiden vaihtuessa<br />
<br />
calc_qalys_and_med_costs<-function(ipd_novacc,ipd,Loss_per_IPDcase)<br />
## for two given 101-long IPD vectors<br />
## ipd_novacc = ipd under NO vaccination<br />
## ipd = ipd under vaccination<br />
## this function gives a list of <br />
## non-fatal,fatal and total QALYs gained: result[[1]]:(1,2,3)<br />
## and medical costs under novacc and vacc: result[[2]]:(1,2)<br />
## Loss_per_IPDcase is a 101*8 matrix<br />
{<br />
Loss_total_novacc<-matrix(ipd_novacc,101,8)*Loss_per_IPDcase<br />
Loss_total<-matrix(ipd,101,8)*Loss_per_IPDcase<br />
Gain<-apply(Loss_total_novacc-Loss_total,2,sum) ##koko populaatio<br />
## Now columns 2+3 are nonfatal, 5 is fatal QALYs<br />
## list Qalys gained: nonfatal, fatal and total<br />
QALYs<-c(Gain[2]+Gain[3], Gain[5], Gain[2]+Gain[3]+Gain[5])<br />
## Now columns 6+7 are medical costs<br />
## list med cost under novacc and vacc<br />
medical_cost0<-cbind(Loss_total_novacc[,6]+Loss_total_novacc[,7],Loss_total[,6]+Loss_total[,7])<br />
medical_cost<-apply(medical_cost0,2,sum)<br />
list(QALYs,medical_cost)<br />
}<br />
<br />
<br />
calc_3_output_tables<-function(ipd0,ipd1,ipd2,vaccine_cost1,vaccine_cost2,Loss_per_IPDcase)<br />
## for 3 given 101-long IPD vectors<br />
## ipd0 = ipd under NO vaccination<br />
## ipd1= ipd under vaccination 1<br />
## ipd1= ipd under vaccination 2<br />
## and<br />
## vaccine_cost1,vaccine_cost2=<br />
## per dose costs of vaccines 1 and 2<br />
## Loss_per_IPDcase is a 101*8 matrix<br />
##<br />
## calculate a list of 3 output tables<br />
## rows and columns as indicated below<br />
##<br />
## typical call of this function:<br />
## calc_3_ouput_tables(IPD_noVac,IPD_pcv10,IPD_pcv13,20,40,Loss_per_IPDcase)<br />
{<br />
c1<-calc_qalys_and_med_costs(ipd0,ipd1,Loss_per_IPDcase)<br />
c2<-calc_qalys_and_med_costs(ipd0,ipd2,Loss_per_IPDcase)<br />
<br />
## output table 1<br />
## columns(3): vaccination, non fatal, fatal and total qalys gained<br />
## rows: no_vacc, vacc1, vacc2<br />
table1<-rbind(rep(0,3),c1[[1]],c2[[1]])<br />
qalys_gained<-table1[,3]<br />
<br />
## output table 2<br />
## columns(3): medical costs, vaccination programme costs, health care costs<br />
##rows: no_vacc, vacc1, vacc2<br />
vaccine_cost_tot<-180000*c(0,vaccine_cost1,vaccine_cost2)<br />
med_cost<-c(c1[[2]],c2[[2]][2])<br />
healthcare_cost<-med_cost+vaccine_cost_tot<br />
table2<-cbind(med_cost,vaccine_cost_tot,healthcare_cost)<br />
<br />
## ouput table3<br />
## columns(5): 1.QALYs gained compared to no_vacc<br />
## 2.incremental effects (=incremental QALYS gained)<br />
## 3.Health care costs 4.incremental costs<br />
## 5.ICER=column4/column2<br />
##rows: no_vacc, vacc1, vacc2<br />
<br />
incr_qalys<-(c(qalys_gained,0)-c(0,qalys_gained))[seq(3)]<br />
incr_costs<-(c(healthcare_cost,0)-c(0,healthcare_cost))[seq(3)]<br />
table3<-cbind(qalys_gained,incr_qalys,healthcare_cost,incr_costs,c(0,incr_costs[-1]/incr_qalys[-1]))<br />
<br />
list(table1,table2,table3)<br />
} <br />
<br />
objects.store(age, QALY_men, QALY_bac, CFR, LYL, COST_men, COST_bac, PROP_men, onevec, adjustment, Loss_per_case, <br />
Loss_per_IPDcase, calc_qalys_and_med_costs, calc_3_output_tables<br />
)<br />
<br />
cat("Objects age, QALY_men, QALY_bac, CFR, LYL, COST_men, COST_bac, PROP_men, onevec, adjustment, Loss_per_case, <br />
Loss_per_IPDcase, calc_qalys_and_med_costs, calc_3_output_tables successfully stored.\n"<br />
)<br />
<br />
</rcode><br />
<br />
<br />
== Perustelu == <br />
<br />
Vaihtoehtoisten rokotteiden rokotusohjelmat järjestetään vaikuttavuuden mukaan (V<sub>1</sub> < V<sub>2</sub> < V<sub>3</sub>, jne). Inkrementaalisessa kustannusvaikuttavuussuhteessa (incremental cost-effectiveness ratio, ICER; €/lisä-QALY) rokotusohjelmaa verrataan vaikuttavuudeltaan seuraavaksi parempaan ohjelmaan. ICER lasketaan jakamalla odotettu kustannusten erotus odoteulla terveysvaikutusten erotuksella:<br />
<br />
<math>ICER = \frac{(C_2-S_2) - (C_1-S_1)}{E_2-E_1},</math><br />
<br />
:missä C on rokotusohjelman hinta, S on säästö hoitokustannuksissa ja E on QALY-säästö.<br />
<br />
Rokotusohjelma jätetään pois tarkastelusta, jos se on sekä kalliimpi että huonompi vaikuttavuudeltaan verrattuna vähintään yhteen vertailtavista rokotteiden ohjelmista. Jäljelle jäävien rokotusohjelmien ICER:eitä verrataan keskenään siten, että ohjelmaa verrataan aina vaikuttavuudeltaan seuraavaksi parempaan ohjelmaan. Vaikuttavuudeltaan huonointa rokotusohjelmaa verrataan ei rokoteta -tilanteeseen. Vertailussa jäljelle jää kustannusvaikuttavuudeltaan paras (ICER on pienin) rokotusohjelma. <ref>Räsänen P ja Sintonen H. Terveydenhuollon taloudellinen arviointi. Suomen Lääkärilehti 2013; 17:1255–60. </ref> <ref> Phillips C and Thompson G. What is cost effectiveness? Hayward Medical Communications 2009. [http://www.medicine.ox.ac.uk/bandolier/painres/download/whatis/Cost-effect.pdf]</ref> <br />
<br />
<br />
<br />
=== Arvioidut hoitokustannukset ja elinvuosimenetykset ilman rokotusohjelmaa ===<br />
<br />
Meningiitti- ja bakteremiatapausten terveyspalvelujen käyttö erikoissairaanhoidossa (vuodeosastohoitojaksot ja poliklinikkakäynnit) sekä meningiitin komplikaatioiden yleisyys arvioitiin Hoitoilmoitusjärjestelmästä (HILMO) poimitusta rekisteriaineistosta (2000-2006). Aineiston menigiittitapauksista (N=255) 12 %:lla (N= 30) oli kuulovaurioon viittaava ICD10-diagnoosi meningiittidiagnoosin jälkeen. Kuulovaurion saaneista 20 %: lla (N=6) oli meningiittidiagnoosin jälkeen sisäkorvaistutetoimenpide (DFE00, istutteen asettaminen korvasimpukkaan). Meningiittitapauksista 16 %:lla oli neurologiseen komplikaatioon viittaava diagnoosi. <br />
Kuolemaan johtaneiden IPD tapausten määrät perustuvat suomalaiseen aineistoon <ref name="klemets">[http://www.biomedcentral.com/1471-2334/8/96 Klemets et al. (2008) Invasive pneumococcal infections among persons with and without underlying medical conditions: implications for prevention strategies. BMC Infect Dis. 2008 Jul 22;8:96.]</ref><br />
.<br />
Keskimääräisen tautiepisodin kustannukset hoitovuosittain saatiin kertomalla keskimääräinen palvelujen käyttö yksikkökustannuksilla. Erikoissairaanhoidon keskimääräiset vuodeosastohoitojen ja poliklinikkakäyntien<br />
kustannukset arvioitiin tautiryhmittäin muodostettujen aineistojen HUS-kustannustiedoista (HILMO). Kaikki kustannukset ovat vuoden 2012 hintatasossa. Yli vuoden kuluttua toteutuvat terveysvaikutukset ja kustannukset diskontattiin 3 %:n diskonttokorolla. <br />
<br />
<br><br />
'''Kustannusvaikuttavuusanalyysissä käytetyn aineiston yhteenvetotaulukko'''<br />
Kustannusvaikuttavuuslaskelmat perustuvat ikävuosikohtaiseen (0,1,2,...100 vuotiaat) aineistoon invasiivisesta taudista ja menetetyistä elinvuosista.<br />
<br><br />
1. QALY_menin = QALY menetykset aivokalvontulehdustapausten johdosta jälkiseurauksineen (vuosissa, *)<br />
2. QALY_bact = QALY menetykset bakteremiatapausten johdosta (vuosissa, *)<br />
3. CFR = kuolemantapausten osuus aivokalvontulehdus- ja bakteremiatapauksista (case fatality ratio)<br />
4. Life_y_lost = Menetetyt elinvuodet IPD:stä aiheutuvien kuolemantapausten johdosta (*)<br />
5. Cost_ menin = Terveydenhoitokulut (medical costs) aivokalvontulehdustapauksista jälkiseurauksineen (euroa. *)<br />
6. Cost_ bact = Terveydenhoitokulut (medical costs) bakteremiatapauksista (euroa. *)<br />
7. Menin_osuus = Aivokalvontulehdustapausten osuus kaikista IPD tapauksista<br />
(*) laskelmissa käytetty diskonttokorko on 3%/vuosi<br />
<br />
{| || {{prettytable}}<br />
|+Arvioidut hoitokustannukset ja menetetyt elinvuodet ''yhtä sairaustapausta kohti'' (aivokalvontulehdus tai bakteremia) <br />
| Ikäryhmä||QALY_menin||QALY_bact||CFR||Life_y_lost||Cost_menin||Cost_bact||Menin_osuus<br />
|---<br />
| <5 vuotiaat || 0.22 || 0.0079 || 0.014 || 31.1 || 22 070 || 1 986 || 0.037<br />
|---<br />
| 5-64 vuotiaat || 0.16 || 0.0079 || 0.112 || 20.7 || 26 488 || 9 000 || 0.046<br />
|---<br />
| 65+ vuotiaat || 0.08 || 0.0079 || 0.196 || 9.4 || 21 529 || 6 823 || 0.019<br />
|---<br />
|}<br />
* Huom. Taulukko listaa muuttujien ikäluokkakohtaiset (painotetut) keskiarvot. Mallin laskenta perustuu ikävuosikohtaisiin arvoihin.<br />
<br />
<br><br />
<br />
{|{{prettytable}}<br />
|+Arvioidut hoitokustannukset ja menetetyt elinvuodet yhteensä koko väestössä ilman rokotusohjelmaa (vuoden aikana)<br />
|---<br />
|Age group||QALY_meningitis||QALY_bacteremia||Life_years_lost||Cost_meningitis||Cost_bacteremia<br />
|---<br />
|<5 vuotiaat||0.83||0.75||43.64||81 591||189 444<br />
|---<br />
|5-64 vuotiaat||2.89||2.90||895.01||470 949||3 308 515<br />
|---<br />
|65+ vuotiaat||0.51||2.34||555.60||125 916||2 020 437<br />
|---<br />
|}<br />
<br />
<br><br />
<br />
'''Aiemmassa arvioinnissa (2008) käytetyt hoitokustannusarviot '''<br />
<br />
Invasiivisesta pneumokokkitaudista aiheutuvat kustannukset saadaan vuonna 2008 tehdystä pneumokokkikonjugaattirokotusohjelman taloudellisesta arviointitukimuksesta, joka tehtiin osana Kansanterveyslaitoksen (nyk. THL) Lasten pneumokokkirokotustyöryhmän työskentelyä. <ref name="ktl">[[:Tiedosto:PCV KVAraportti 2008 080414.odt|Pneumokokkikonjugaattirokotusohjelman kustannusvaikuttavuus, 2008]]</ref> <ref name"tyoryhmanselvitys"> Kansanterveyslaitoksen asettaman lasten pneumokokkirokotustyöryhmän selvitys 2.5.2008 [http://www.julkari.fi/bitstream/handle/10024/103010/2008b12.pdf?sequence=1] </ref> Tutkimus tehtiin, kun rokotetta harkittiin otettavaksi kansalliseen rokotusohjelmaan. Tutkimuksessa verrattiin 7-valenttisen pneumokokkikonjugaattirokotteen rokotusohjelmaan ottamista ei rokoteta -tilanteeseen ja rokotusohjelman kustannusvaikuttavuutta arvioitiin ottamalla huomioon myös rokotusohjelman väestötason vaikutukset. Arvioitavia terveysvaikutuksia olivat vältetyt ennenaikaiset kuolemat sekä vältetyt aivokalvotulehdus-, bakteremia-, keuhkokuume- ja välikorvatulehdustapaukset.<ref name="ktl">[[:Tiedosto:PCV KVAraportti 2008 080414.odt|Pneumokokkikonjugaattirokotusohjelman kustannusvaikuttavuus, 2008]]</ref><br />
<br><br />
{|{{prettytable}}<br />
|+'''Odotetut pneumokokkitautien ja välikorvatulehduksen (kaikki taudinaiheuttajat) aiheuttamat vuosittaiset diskontatut (5 %) hoitokustannukset (€) ilman rokotusohjelmaa (arvio 2008)''' <ref name="ktl"/><br />
|---<br />
| || AOM* (kaikki taudin aiheuttajat) || Keuhkokuume TK* || Keuhkokuume ESH || Bakteremia || Aivokalvotulehdus || Yhteensä<br />
|---<br />
| 0v || 6 935 217 || 13 638 || 339 659 || 38 418 || 41 573 || 7 368 504<br />
|---<br />
| 1-4v || 24 107 113 || 177 649 || 1 505 050 || 116 540 || 24 092 || 25 930 444<br />
|---<br />
| 5-9v || - || - || 975 775 || 16 351 || 9 673 || 1 001 799<br />
|---<br />
| 10-19v || - || - || 1 274 803 || 21 184 || 7 749 || 1 303 736<br />
|---<br />
| 20-64 v || - || - || 24 216 258 || 2 162 396 || 291 975 || 26 670 629<br />
|---<br />
| 65v + || - || - || 59 840 384 || 1 675 858 || 114 853 || 61 631 095<br />
|---<br />
| Yhteensä || 31 042 329 || 191 287 || 88 151 929 || 4 030 747 || 489 916 || 123 906 208<br />
|---<br />
| < 5 v || 31 042 329 || 191 287 || 1 844 709 || 154 958 || 65 665 || 33 298 948<br />
|}<br />
<br />
: *Tutkimuksessa ei oletettu väestötason vaikutuksia välikorvatulehdukselle ja terveyskeskuksessa hoidetulle keuhkokuumeelle, jonka takia niiden kustannuksiakaan ei arvioitu.<br />
<br />
<br><br />
<br />
<br />
== Herkkyysanalyysi ==<br />
<br />
Taloudellisen mallin herkyyttä rokotteisiin sisältyvien serotyyppien oletetun suojan suhteen tarkastellaan erillisellä sivulla: [[:op_en:Cost_effectiveness_sensitivity|herkkyysanalyysi]]. Herkkyysanalyysin perusteella serotyypin 3 rooli 13-valenttisessa rokotteessa on tärkeä. Lisäksi oletukset liittyen serotyypin 6A rooliin 10-valenttisessa rokotteessa ovat merkittäviä.<br />
<br />
<br />
== Katso myös ==<br />
<br />
{{pneumokokkirokote}}<br />
<br />
* [http://www.medicine.ox.ac.uk/bandolier/painres/download/whatis/Cost-effect.pdf What is cost-effectiveness?]<br />
<br />
== Viitteet ==<br />
<br />
<references/><br />
<br />
== Kommentoi ==<br />
<br />
Tästä aiheesta käydään [[Keskustelu:Taloudellinen arviointi|keskustelua keskustelusivulla]]. Voit osallistua siihen kirjautumalla sisään.<br/><br />
<br />
{{kommentointityökalu}}</div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Pneumokokkirokote&diff=25960
Pneumokokkirokote
2014-08-27T08:38:19Z
<p>Teemu R: ohjataan mieluummin pääsivulle</p>
<hr />
<div>#OHJAUS [[Pneumokokkirokotteen hankinta kansalliseen rokotusohjelmaan]]</div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Liikenne_ja_viestint%C3%A4_digitaalisessa_Suomessa_2020/Sis%C3%A4ll%C3%B6nanalyysi&diff=25957
Liikenne ja viestintä digitaalisessa Suomessa 2020/Sisällönanalyysi
2014-08-26T22:37:05Z
<p>Teemu R: /* Avainsanoitus */</p>
<hr />
<div>{{LVM}}<br />
<br />
'''Tällä sivulla voit tarkastella liikenneministeriön tulevaisuuskatsauksen sisältöä ja kansalaisten antamien kommenttien suhdetta siihen. <br />
Alla olevilla työkaluilla voit hakea tekstin jakeita eli erillisiä tekstikappaleita ja niihin liittyviä avainsanoja tai muita jakeita. Relaatiot tarkoittavat kuvailua siitä, millä tavalla kaksi jaetta liittyy toisiinsa.'''<br />
<br />
= Tägikone =<br />
<br />
== Käyttöohje ==<br />
Tägikoneen idea on pitää yllä jaetietokantaa ja määritellään jakeille avainsanoja ja relaatoita joiden tarkoitus on rikastaa sivustolla käydystä keskustelusta analyysikelpoista yleisemmän tason tietoa. <br /><br />
<br />
'''[[#Jakeet]] määritellään koodilla joka lukee wikisivuilta tekstiä kappaleittain (myös taulukot ja bullet pointit). Jakeisiin lisätään myös kommentointityökalulla tehdyt kommentit, joita ei vielä ole siirretty wikitekstiin, sekä tämän sivun koodilla lisätyt jakeet [[#Jakeenlisäyskone]]. '''<br /><br />
<br />
'''[[#Avainsanat]] ovat jaekohtaisia ja ne lisätään yleensä käsityönä [[#Avainsanoitus]].'''<br /><br />
<br />
'''[[#Relaatiot]] voidaan määritellä kahden jakeen välille (myös käsityötä)'''<br /><br />
<br />
'''[[#Versiot]] - wikisivuja päivitetään mahdollisesti jatkuvasti, minkä johdosta versiointi on tarpeellista. Koska jakeet ovat versiokohtaisia niin avainsanat ja relaatiot ovat sitä myös. Avainsanojen ja relaatioiden automaattista periytymistä on kehitetty, mutta koodi on vielä kesken [[#Sulautus (automaattinen sisällytys)]].'''<br />
<br />
== Yhdistelmähakukoneet ==<br />
=== Jaekohtainen avainsanalistaus ===<br />
'''Hakee jakeita ja näyttää kaikki niihin liittyvät avainsanat'''<br />
<rcode label="Hae" name="avainsanat_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) == 0) {<br />
stop("Jakeita ei löytynyt!")<br />
}<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
} else {<br />
# Yhdistetään kunkin jakeen avainsanat yhdelle riville<br />
tags <- ddply(<br />
tags, <br />
c("Versio", "Sivu", "JaeID"), <br />
function(x) {a <- x[1,];a$Avainsanat <- paste(x$Result, collapse = ", ");return(a)}<br />
)<br />
<br />
out <- join(<br />
out[c("Versio", "Sivu", "JaeID", "Result")],<br />
tags[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
by = c("Versio", "Sivu", "JaeID"),<br />
type = "inner",<br />
match = "first"<br />
)<br />
<br />
# Jos annettiin vain yksi versio ja/tai sivu niin niitä ei tarvitse printata<br />
filter_ind <- NULL<br />
if (length(version) != 1) filter_ind <- c(filter_ind, "Versio")<br />
if (length(sivu) != 1) filter_ind <- c(filter_ind, "Sivu")<br />
filter_ind <- c(filter_ind, "JaeID")<br />
<br />
oprint(<br />
out[c(filter_ind, "Result", "Avainsanat")], <br />
include.rownames = FALSE, <br />
show_all = TRUE<br />
)<br />
}<br />
</rcode><br />
<br />
=== Jae-relaatio-jae listaus ===<br />
'''Hakee jakeita ja niihin liittyviä toisia jakeita listaten myös relaation tyypin'''<br />
<rcode label="Hae" name="relaatiot_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta relaatioita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:liitsis|description:Liittymistyyppi (tyhjä = kaikki)|type:checkbox|options:<br />
'tukee tai on linjassa';Tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';Vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';On neutraali suhteessa;<br />
'on uusi linjaus tai painotus';On uusi linjaus tai painotus;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';Ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';Ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin';Ehdotus ei ole antanut aihetta muutoksiin;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';Ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:details|description:Näytetäänkö tekniset yksityiskohdat?|type:selection|options:FALSE;Ei, vain jakeiden sisältö;TRUE;Kyllä, myös jakeiden numerot|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
# Eri sisältymistyypit pitää määritellä niin että ne voidaan käsitellä erillään muista relaatioista<br />
sis_opt <- c(<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu',<br />
'ehdotus huomioitu ja uusi kohta lisätty',<br />
'ehdotus ei ole antanut aihetta muutoksiin', <br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun'<br />
)<br />
#liit_opt <- c(<br />
# 'tukee tai on linjassa',<br />
# 'vastustaa tai on ristiriidassa',<br />
# 'on neutraali suhteessa',<br />
# 'on uusi linjaus tai painotus'<br />
#)<br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (!is.null(liitsis)) rel <- rel[rel$Result %in% liitsis, ]<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = unique(c(<br />
as.character(rel$Sivu1), <br />
as.character(rel$Sivu2)<br />
)), <br />
versio = version, <br />
jae = unique(c(<br />
as.character(rel$JaeID1), <br />
as.character(rel$JaeID2)<br />
))<br />
)<br />
if (nrow(jakeet) == 0) stop("Relaatioissa listattuja jakeita ei löytynyt!")<br />
<br />
# Relaatiot<br />
if (nrow(rel[!(rel$Relaatio %in% sis_opt),]) > 0) {<br />
jakeet <- jakeet[c("Versio", "Sivu", "JaeID", "Result")]<br />
colnames(jakeet)[colnames(jakeet) == "JaeID"] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu"] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Jae1"<br />
rel <- rel[c("RelaatioID", "Versio", "Sivu1", "JaeID1", "Result", "Sivu2", "JaeID2")]<br />
colnames(rel)[colnames(rel) == "Result"] <- "Relaatio"<br />
out <- join(<br />
rel[(!(rel$Relaatio %in% sis_opt)) & rel$Versio %in% original_version,], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
out <- join(out, jakeet, match = "first")<br />
<br />
if(details) {<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
<br />
temp <- out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")]<br />
temp <- data.frame(<br />
Jae1 = paste(temp$Jae1, " (", temp$Sivu1, ")", sep = ""),<br />
Relaatio = temp$Relaatio,<br />
Jae2 = paste(temp$Jae2, " (", temp$Sivu2, ")", sep = "")<br />
)<br />
oprint(temp, <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
}<br />
} else {<br />
cat("Ei relaatioita!\n")<br />
}<br />
<br />
# Sisällytykset<br />
if (nrow(rel[(rel$Relaatio %in% sis_opt),]) > 0) {<br />
colnames(jakeet)[colnames(jakeet) %in% c("JaeID","JaeID2")] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Sivu", "Sivu2")] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Result", "Jae2")] <- "Jae1"<br />
colnames(rel)[colnames(rel) == "Relaatio"] <- "Sisällytys"<br />
out <- join(<br />
rel[rel$Sisällytys %in% sis_opt & rel$Versio %in% version[-length(version)],], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
jakeet$Versio <- as.numeric(as.character(jakeet$Versio)) - 1<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Sisällytys", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Sisällytys (uudempaan versioon)", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei sisällytyksiä!\n")<br />
}<br />
}<br />
</rcode><br />
<br />
=== Avainsana- ja relaatiotietojen analyysi ===<br />
<br />
'''Hae jakeita annetuilla kriteereillä ja vertaile avainsanojen ja relaatioiden lukumääriä. Halutessasi voit myös listata jaeosumat. Vapaakenttiin voi syöttää useita arvoja erottelemalla ne pilkuilla.'''<br />
<br />
Käytetyt avainsanat:<br />
{{piilotettu|<br />
3D-tulostus Aikataulut Ajoneuvokanta Alueellisuus <br />
alustus Ammattiryhmät Arvo Asutus <br />
Aurinko Automatisaatio Avoimuus Big Data <br />
Biopolttoaine Dataliikenne Digitalisoituminen Eettisyys <br />
eIDAS Elintaso Energia Epäselvä luokka <br />
Eriarvoisuus Erityisryhmät Esineiden internet Globaalius <br />
Globaaluis Henkilökortti Henkilötiedot Huutokauppa <br />
Hybridi Hybridi-TV Hyvinvointi Hyvinvointiyhteiskunta <br />
Häiriöt Ilmasto Infrastruktuuri Innovatiivisus <br />
Innovatiivisuus Internet Investoinnit Joukkoliikenne <br />
Joustavuus Julkinen valta Kaivosteollisuus Kansainvälisyys <br />
Kasvihuonekaasut Kaupallisuus Kaupungit Kehitys <br />
Kestävyys Kevyen liikenteen väylät Kevytliikenne Kiinteistöt <br />
Kilpailu Kilpailukyky Konesalit Konkreettisuus <br />
Kotimaisuus Koulutus Kunnat Kustannustehokkuus <br />
Kuuluvuus Kävely Laajakaista Lainsäädäntö <br />
Laiton tarjonta Langattomuus Lappi Lentoliikenne <br />
Liikenne Liikenneverkostot Liikkumistili Linja-autot <br />
Logistiikka Luonnonsuojelu Lämmitys Maakaasu <br />
Maatalous Mainonta Markkinat Massavalvonta <br />
Meriliikenne Metadata Mobiiliverkko Mopot <br />
Nopeus Ohjaus Ohjelmistot Ohjelmistotoimittaja <br />
Oikeusturva Omavaraisuus Operaattori Osaaminen <br />
Ostovoima Palaute Palvelut Palvelutaso <br />
Peruskunto Pilvipalvelut Polttoaine Posti <br />
Puelueettomuus Pysäköinti Pyöräily Päivitys <br />
Pääkaupunkiseutu Päästöt Päätöksenteko Päätös <br />
Raha Rahoitus Rahtliikenne Rajapinnat <br />
Rakennemuutos Rakentaminen Raskas liikenne Rautatiet <br />
Riippuvuus Rikokset Robotisaatio Ruuhkamaksu <br />
Ruuhkautuminen Saatavuus Sateliittipaikannus Sovellukset <br />
Strategia Suunnittelu Sähkö Sähköauto <br />
Sääntely Säästöt Talous Talouskasvu <br />
Tarpeet Tasa-arvo Tasapuolisuus Tasavertaisuus <br />
Tavaraliikenne Tehokkuus Tekijänoikeus Tekniikkaneutraalius <br />
Tekninen tuki Teknologia Teknologianeutraalius Teollisuus <br />
Terveydenhuolto Terveys testi Tiedon avoimuus <br />
Tiedon hallinnointi Tiedon hallinta Tiedon hyödyntäminen Tieliikenne <br />
Tietoliikenne Tietoturva Toimilupa Toiminta <br />
Toimintavarmuus Toimivuus Tuki Turvallisuus <br />
Turvaverkko Tutkimus Tuuli TV <br />
Työllisyys Työn tekemiseen liittyvä Ulkomaat Uudistus <br />
Vaihtoehtoiset polttoaineet Vaikuttaminen Vaikutus Vakuutus <br />
Valinnanvapaus Valtio Varmenne Varmuus <br />
Vastuu Verkostoituminen Verotus Vesiliikenne <br />
Vesiliikenne, Tasavertaisuus Viestintäverkot Viranomaiset Yhteensopivuus <br />
Yhteiskunta Yhteiskuntamurros Yhteistyö Yhteysnopeus <br />
Yksityisautoilu Yksityisyydensuoja YLE Yleispalvelu <br />
Yleisradio Ympäristö Yritykset Öljy <br />
}}<br />
<br />
<rcode label="Näytä tilastoja/jakeita" name="jae_stats" embed=1 graphics=1 variables="<br />
name:sivu|description:Minkä sivun jakeita haluat tarkastella?|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:avainsanat|description:Hae jakeita joilla on ainakin yksi seuraavista avainsanoista|type:text|<br />
name:avainsanat_all|description:Hae jakeita joilla on kaikki seuraavat avainsanat|type:text|<br />
name:jaelista|description:Haluatko nähdä kaikki löydetyt jakeet?|type:selection|options:FALSE;En;TRUE;Kyllä|default:FALSE|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
library(ggplot2)<br />
<br />
filter <- list()<br />
if (nchar(gsub(" ", "", avainsanat)) > 0) {<br />
avainsanat <- strsplit(avainsanat, ",")[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat) <br />
} else {<br />
avainsanat <- NULL<br />
}<br />
if (nchar(gsub(" ", "", avainsanat_all)) > 0) {<br />
avainsanat_all <- strsplit(avainsanat_all, ",")[[1]]<br />
avainsanat_all <- gsub("^\\s*|\\s*$", "", avainsanat_all)<br />
#filter$Avainsana <- avainsanat_all<br />
} else {<br />
avainsanat_all <- NULL<br />
}<br />
filter$Sivu <- sivu<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
filter$Versio <- version<br />
<br />
if (length(filter) == 0) filter <- NULL<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
jaeid <- NULL<br />
<br />
if (!is.null(avainsanat)|!is.null(avainsanat_all)) {<br />
tags <- tags[tags$Result %in% c(avainsanat, avainsanat_all), ]<br />
jaeid <- unique(as.character(tags$JaeID))<br />
}<br />
<br />
if(!is.null(avainsanat_all)) {<br />
temp <- list()<br />
for (i in 1:nrow(jaeid)) {<br />
temp[[i]] <- avainsanat_all %in% tags$Result[tags$JaeID == jaeid[i]]<br />
}<br />
temp <- lapply(temp, all)<br />
jaeid <- jaeid[temp]<br />
tags <- tags[tags$JaeID %in% jaeid,]<br />
}<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt.\n")<br />
}<br />
<br />
if (is.null(filter)) {<br />
filter2 <- list()<br />
} else {<br />
filter2 <- filter<br />
}<br />
<br />
filter2$JaeID <- jaeid<br />
<br />
if (length(filter2) == 0) filter2 <- NULL<br />
<br />
if (jaelista) {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = filter2$Sivu, # *list$non-existent returns NULL<br />
versio = filter2$Versio, <br />
jae = filter2$JaeID<br />
)<br />
if (nrow(jakeet) == 0) {<br />
cat("Avainsanoissa listattuja jakeita ei löytynyt.\n")<br />
} else {<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Sisältö"<br />
tagged <- NULL<br />
if (nrow(tags) > 0) {<br />
#tagged <- join(<br />
# jakeet[c("Versio", "Sivu", "Aihe", "JaeID")], <br />
# tags[c("Versio", "Sivu", "JaeID", "Result")]<br />
#)<br />
#colnames(tagged)[colnames(tagged) == "Result"] <- "Avainsana"<br />
tagged <- tapply(tags$Result, tags[c("Versio", "Sivu", "JaeID")], paste, collapse = ", ")<br />
tagged <- as.data.frame(as.table(tagged))<br />
colnames(tagged)[colnames(tagged) == "Freq"] <- "Avainsanat"<br />
tagged <- join(<br />
jakeet[c("Versio", "Sivu", "JaeID", "Sisältö")], <br />
tagged[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
type = "inner",<br />
match = "first"<br />
)<br />
oprint(<br />
tagged[c("Versio", "Sivu", "JaeID", "Sisältö", "Avainsanat")],<br />
caption = "Jakeet", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = rep(0, 6)<br />
)<br />
}<br />
}<br />
}<br />
<br />
if (nrow(tags) > 0) {<br />
tags_out <- ddply(tags, "Result", nrow)<br />
colnames(tags_out) <- c("Avainsana", "Lukumäärä")<br />
tags_out <- tags_out[order(tags_out$Lukumäärä, decreasing = TRUE),]<br />
oprint(<br />
tags_out,<br />
caption = "Avainsanojen lukumäärät", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = c(0, 0, 0)<br />
)<br />
ggplot(tags_out, aes(x = Avainsana, y = Lukumäärä, fill = Avainsana)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Avainsanojen frekvenssit")<br />
}<br />
<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter3 <- list()<br />
filter3$Sivu1 <- sivu<br />
filter3$Versio <- version<br />
filter3$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter3$JaeID1 <- NULL<br />
filter3$Sivu1 <- NULL<br />
filter3$JaeID2 <- jaeid<br />
filter3$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
related <- rel[<br />
rel$Result %in% c(<br />
"on neutraali suhteessa", <br />
"on uusi linjaus tai painotus", <br />
"tukee tai on linjassa", <br />
"vastustaa tai on ristiriidassa"<br />
), ]<br />
related$Result <- as.character(related$Result)<br />
affected <- rel[<br />
rel$Result %in% c(<br />
"ehdotus ei ole antanut aihetta muutoksiin",<br />
"ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun", <br />
"ehdotus huomioitu ja liittyvää painotusta muutettu",<br />
"ehdotus huomioitu ja uusi kohta lisätty"<br />
), ]<br />
affected$Result <- as.character(affected$Result)<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin"] <- "Ei aihetta muutoksiin"<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun"] <- "Sisältyy valmiiksi"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja liittyvää painotusta muutettu"] <- "Huomioitu painotuksella"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja uusi kohta lisätty"] <- "Huomioitu lisäyksellä"<br />
<br />
related_out <- ddply(related, "Result", nrow)<br />
colnames(related_out) <- c("Relaatio", "Lukumäärä")<br />
<br />
affected_out <- ddply(affected, "Result", nrow)<br />
colnames(affected_out) <- c("Sisällytys", "Lukumäärä")<br />
}<br />
<br />
if (nrow(related_out > 0)) {<br />
ggplot(related_out, aes(x = Relaatio, y = Lukumäärä, fill = Relaatio)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Relaatioiden frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
<br />
if (nrow(affected_out > 0)) {<br />
ggplot(affected_out, aes(x = Sisällytys, y = Lukumäärä, fill = Sisällytys)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Sisällytyksen frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
</rcode><br />
<br />
== Työkalut ==<br />
'''Aineiston työstämiseen tarkoitettuja koodeja.'''<br />
=== Jakeet ===<br />
==== Jaehakukone ====<br />
'''Hakee jakeita annetuilla kriteereillä. Näyttää myös tekniset sarakkeet. Vapaakenttiin voi laittaa useita arvoja erottelemalla ne pilkuilla.'''<br />
<rcode label="Näytä jakeet" name="jakeet" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Jakeita ei löytynyt!\n")<br />
}<br />
</rcode><br />
<br />
==== Jakeenlisäyskone ====<br />
'''Lisää tietokantaan vapaasti määriteltävän jakeen. Lisätyt jakeet näkyvät tämän sivun hakukoneissa. Niiden JaeID:llä on "L"-etuliite.'''<br />
<rcode label="Lisää jae" name="jakeenlisays" embed=1 variables="<br />
name:sivu|description:Sivu jolle jae lisätään|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:sisalto|description:Jakeen sisältö|type:textbox|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame( <br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
JaeID = NA,<br />
Result = sisalto<br />
)<br />
<br />
ident.subset <- paste(ident, "Jakeenlisaykset", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
filter$Sivu <- sivu<br />
<br />
upload_with_autoid(<br />
out,<br />
ident.subset,<br />
id_name = "JaeID",<br />
pagename = pagename,<br />
prefix = "L",<br />
filter = filter<br />
)<br />
</rcode><br />
<br />
==== Jakeenpoistokone ====<br />
'''Merkitsee jakeen epäkelvoksi, jolloin se jätetään näyttämättä kaikissa tämän sivun hakukoneissa.'''<br />
<rcode label="Poista jae" name="jakeenpoisto" embed=1 variables="<br />
name:sivu|description:Poistettavan jakeen sivu|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Poistettavan jakeen ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Tekninen jae';Tekninen jae;<br />
'Jae ei liity sivun aiheeseen';Jae ei liity sivun aiheeseen;<br />
'Jae on häiriköintiä';Jae on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jaeid <- strsplit(jaeid, ",", fixed = TRUE)[[1]]<br />
jaeid <- gsub(" ", "", jaeid)<br />
<br />
if (sum(nchar(jaeid)) == 0) stop("Anna jakeen ID")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame(<br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = as.character(jaeid)<br />
)<br />
<br />
opbase.upload(<br />
out, <br />
who = wiki_username, <br />
name = pagename,<br />
subset = "Jakeenpoistot",<br />
act_type = "append", <br />
language = "fin"<br />
)<br />
</rcode><br />
<br />
=== Avainsanat ===<br />
==== Avainsanahakukone ====<br />
'''Hakee jaekohtaisia avainsanoja. Näyttää datan sellaisena kuin se on tietokannassa.'''<br />
<rcode label="Näytä avainsanat" name="avainsanat_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka avainsanoja haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
out <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
==== Avainsanoitus ====<br />
'''Lisää tietokantaan annetut avainsanat. Avainanoja voidaan lisätä ruksaamalla annetusta listasta (vain yleisimmät) ja syöttämällä vapaakenttään pilkulla eroteltuna.'''<br />
<rcode label="Lisää avainsana" name="avainsananlisays" embed=1 variables="<br />
name:sivu|description:Minkä sivun jakeelle haluat lisätä avainsanoja?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Mikä on jakeen versio?|type:text|default:nykyinen|<br />
name:jae|description:Mikä on jakeen ID?|type:text|<br />
name:yl_avainsanat|description:Valitse alla olevasta listasta yleisiä avainsanoja.|type:checkbox|options:<br />
'Päätös';A Päätös (jae sisältää päätös- tai toimintaehdotuksen);<br />
'Vaikutus';B Vaikutus (jae kuvaa ilmiötä tai vaikutusta);<br />
'Arvo';C Arvo (jakeessa on arvoarvostelma tai kuvaa asian merkitystä);<br />
'Työn tekemiseen liittyvä';D Katsaustyön tekemiseen liittyvä;<br />
'Epäselvä luokka';E Ei mikään edellisistä (valitse ainakin yksi A-E)|<br />
name:avainsanat|description:Laita halutessasi yllä listaamattomattomia avainsanoja tähän pilkulla eroteltuna.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
avainsanat <- strsplit(avainsanat, ",", fixed = TRUE)[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat)<br />
avainsanat <- avainsanat[nchar(avainsanat) > 0]<br />
avainsanat <- c(yl_avainsanat, avainsanat)<br />
if (length(avainsanat) == 0) stop("Yhtään avainsanaa ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
AvainsanaID = NA, <br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Sivu = sivu,<br />
JaeID = as.character(jae), <br />
Result = avainsanat<br />
)<br />
<br />
ident.subset <- paste(ident, "Avainsanat", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "AvainsanaID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Avainsanojen lisääminen onnistui.\n")<br />
</rcode><br />
<br />
==== Avainsanan poisto ====<br />
'''Merkitsee avainsanan epäkelvoksi, jolloin tämän sivun hakukoneet eivät näytä sitä.'''<br />
<rcode name="avainsananpoisto" embed=1 label="Poista avainsana" showcode=0 variables="<br />
name:avid|description:Poistettavan avainsanan ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Avainsana ei päde uudessa versiossa';Avainsana ei päde uudessa versiossa;<br />
'Virheellinen avainsana';Virheellinen avainsana|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
avid <- strsplit(avid, ",", fixed = TRUE)[[1]]<br />
avid <- gsub(" ", "", avid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = avid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Avainsana poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
<br />
<br />
=== Relaatiot ===<br />
==== Relaatiohakukone ====<br />
'''Hakee relaatioita joissa mahdollisesti annetut jakeet esiintyvät. Näyttää datan sellaisena kuin se on tietokannassa.'''<br />
<rcode label="Näytä relaatiot" name="relaatiot_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka relaatioita haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
out <- rbind(rel1, rel2)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(<br />
out, <br />
include.rownames = FALSE,<br />
caption = "Relaatiot", <br />
caption.placement = "top"<br />
)<br />
} else {<br />
cat("Relaatioita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
==== Relaation lisääminen ====<br />
'''Lisää uuden relaation tietokantaan. Samantyyppisiä relaatioita voi kerralla lisätä useita, kun erottelee JaeID:t pilkuilla: relaatiot määräytyvät kaikki yhteen, yksi kaikkiin tai yksi yhteen. '''<br />
<rcode label="Lisää relaatio" name="relaatio" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:nykyinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID?|type:text|<br />
name:relaatio|description:'''Kuinka lähtöjae liittyy kohdejakeeseen?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'tukee tai on linjassa';tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';on neutraali suhteessa;<br />
'on uusi linjaus tai painotus';on uusi linjaus tai painotus;<br />
'kuuluu ryhmään/kokoelmaan';kuuluu ryhmään/kokoelmaan|<br />
name:lisarelaatio|description:VAPAAEHTOINEN Voit antaa oman jakeiden välisen relaation vapaakenttään.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
relaatio <- ifelse(lisarelaatio == '', relaatio, lisarelaatio)<br />
if (nchar(gsub(" ", "", relaatio)) == 0) stop("Relaatiota ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = relaatio<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Relaation lisääminen onnistui.\n")<br />
<br />
</rcode><br />
==== Sisällytyksen lisääminen ====<br />
'''Lisää uuden sisällytyksen tietokantaan. Sisällytys tapahtuu aina seuraavaan versioon. Samantyyppisiä sisällytyksiä voi kerralla lisätä useita, kun erottelee JaeID:t pilkuilla: sisällytykset määräytyvät kaikki yhteen, yksi kaikkiin tai yksi yhteen. '''<br />
<rcode label="Lisää sisällytys" name="sisallytys" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:edellinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID (uudemmassa versiossa)?|type:text|<br />
name:sisallytys|description:'''Sisällytettiinkö ehdotus uudempaan versioon?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun;<br />
'ehdotus ei ole antanut aihetta muutoksiin';ehdotus ei ole antanut aihetta muutoksiin|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
if (nchar(gsub(" ", "", sisallytys)) == 0) stop("Sisällytyksen tyyppiä ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "edellinen") {<br />
version <- get_current_version(ident) - 1<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = sisallytys<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Sisällytyksen lisääminen onnistui.\n")<br />
<br />
</rcode><br />
==== Relaation poisto ====<br />
'''Merkitsee relaation/sisällytyksen epäkelvoksi, jolloin tämän sivun hakukoneet eivät näytä sitä.'''<br />
<rcode name="relaationpoisto" embed=1 label="Poista relaatio" showcode=0 variables="<br />
name:relid|description:Poistettavan relaation ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Relaatio ei päde uudessa versiossa';Relaatio ei päde uudessa versiossa;<br />
'Virheellinen relaatio';Virheellinen relaatio|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
relid <- strsplit(relid, ",", fixed = TRUE)[[1]]<br />
relid <- gsub(" ", "", relid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = relid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Relaatio poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Sulautus (automaattinen sisällytys) ===<br />
'''Etsii edellisestä versiosta jakeita joiden sisältö löytyy uudessa versiossa jonkin jakeen sisällöstä. Koodi on keskeneräinen johtuen R:n peruskirjaston sisäisestä bugista joka estää samanaikaisen approksimaalisen että osittaisen osuman haun.''' <br />
{{tuloslinkki}}<br />
<br />
<rcode label="Etsi sulautuksia" name="sulautus" embed=0 variables="<br />
name:sivu|description:Sivut joihin sulautus tehdään (kaikista edellisen version jakeista)|type:checkbox|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:toleranssi|description:Toleranssi (Levenshtein distance)|default:5|<br />
name:tallenna|description:Tallenna kantaan|type:selection|options:TRUE;Kyllä;FALSE;Ei|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
mdat <- get_meta_data(ident)<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
version <- c(version - 1, version)<br />
<br />
jakeet <- jaehakukone(ident, versio = version)<br />
<br />
ver1 <- jakeet[jakeet$Versio == version[1],]<br />
ver2 <- jakeet[jakeet$Versio == version[2] & jakeet$Sivu == sivu,]<br />
<br />
# adist too slow<br />
d <- adist(<br />
ver1$Result, <br />
ver2$Result,<br />
fixed = FALSE<br />
)<br />
d[is.na(d)] <- Inf<br />
#d_min <- apply(d, 1, min)<br />
#d_tol <- d <= toleranssi<br />
#d_out <- apply(d, 1, which.min)<br />
<br />
colnames(ver1)[colnames(ver1) == "Versio"] <- "Versio1"<br />
colnames(ver1)[colnames(ver1) == "Sivu"] <- "Sivu1"<br />
colnames(ver1)[colnames(ver1) == "JaeID"] <- "JaeID1"<br />
colnames(ver1)[colnames(ver1) == "Result"] <- "Result1"<br />
<br />
colnames(ver2)[colnames(ver2) == "Versio"] <- "Versio2"<br />
colnames(ver2)[colnames(ver2) == "Sivu"] <- "Sivu2"<br />
colnames(ver2)[colnames(ver2) == "JaeID"] <- "JaeID2"<br />
colnames(ver2)[colnames(ver2) == "Result"] <- "Result2"<br />
<br />
#out <- cbind(ver1[d_min <= toleranssi, ], ver2[d_out[d_min <= toleranssi], ])<br />
<br />
d <- alply(d, 1, I)<br />
d_tol <- llply(d, function(x) {x <= toleranssi})<br />
d_reps <- laply(d_tol, sum)<br />
d_w <- llply(d_tol, which)<br />
d_w <- unlist(d_w)<br />
<br />
out <- cbind(ver1[rep(1:nrow(ver1), d_reps),], ver2[d_w, ])<br />
<br />
#d <- NULL<br />
#n <- NULL<br />
#for (i in 1:nrow(ver1)) {<br />
# for (j in split(ver2$Result, ceiling((1:nrow(ver2)) / 100))) {<br />
# temp <- agrep(ver1$Result[i], j, toleranssi)<br />
# d <- append(d, temp)<br />
# n <- append(n, length(temp))<br />
# }<br />
#}<br />
<br />
#out <- cbind(<br />
# ver1[rep(1:nrow(ver1), n),],<br />
# ver2[d,]<br />
#)<br />
if (tallenna) {<br />
opbase.upload(<br />
out,<br />
name = pagename,<br />
who = wiki_username,<br />
subset = "Sulautukset"<br />
)<br />
} else { <br />
oprint(<br />
out, <br />
include.rownames = FALSE, <br />
digits = rep(0, ncol(out) + 1), <br />
caption("Sulautus uuteen versioon"), <br />
caption.placement = "top",<br />
show.all = TRUE<br />
)<br />
}<br />
</rcode><br />
<br />
== Versiot ==<br />
<br />
<t2b name="Versiot" index="Versio,Sivu,Ident" unit="OldID"><br />
1|Liikenne ja viestintä palveluna|Op_fi4248|<br />
1|Liikenteen palvelumarkkinat|Op_fi4253|<br />
1|Liikenteen energiareformi|Op_fi4254|<br />
1|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
1|Monipuoliset sisällöt|Op_fi4256|<br />
1|Oma Painotus Teema I|Op_fi4257|<br />
1|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
1|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
1|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
1|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
1|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
1|Oma Painotus Teema II|Op_fi4262|<br />
1|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
1|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
1|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
1|Arktinen strategia|Op_fi4265|<br />
1|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
1|Oma Painotus Teema III|Op_fi4267|<br />
1|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
2|Liikenne ja viestintä palveluna|Op_fi4248|<br />
2|Liikenteen palvelumarkkinat|Op_fi4253|<br />
2|Liikenteen energiareformi|Op_fi4254|<br />
2|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
2|Monipuoliset sisällöt|Op_fi4256|<br />
2|Oma Painotus Teema I|Op_fi4257|<br />
2|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
2|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
2|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
2|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
2|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
2|Oma Painotus Teema II|Op_fi4262|<br />
2|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
2|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
2|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
2|Arktinen strategia|Op_fi4265|<br />
2|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
2|Oma Painotus Teema III|Op_fi4267|<br />
2|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
</t2b></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Liikenne_ja_viestint%C3%A4_digitaalisessa_Suomessa_2020/Sis%C3%A4ll%C3%B6nanalyysi&diff=25956
Liikenne ja viestintä digitaalisessa Suomessa 2020/Sisällönanalyysi
2014-08-26T22:14:57Z
<p>Teemu R: </p>
<hr />
<div>{{LVM}}<br />
<br />
'''Tällä sivulla voit tarkastella liikenneministeriön tulevaisuuskatsauksen sisältöä ja kansalaisten antamien kommenttien suhdetta siihen. <br />
Alla olevilla työkaluilla voit hakea tekstin jakeita eli erillisiä tekstikappaleita ja niihin liittyviä avainsanoja tai muita jakeita. Relaatiot tarkoittavat kuvailua siitä, millä tavalla kaksi jaetta liittyy toisiinsa.'''<br />
<br />
= Tägikone =<br />
<br />
== Käyttöohje ==<br />
Tägikoneen idea on pitää yllä jaetietokantaa ja määritellään jakeille avainsanoja ja relaatoita joiden tarkoitus on rikastaa sivustolla käydystä keskustelusta analyysikelpoista yleisemmän tason tietoa. <br /><br />
<br />
'''[[#Jakeet]] määritellään koodilla joka lukee wikisivuilta tekstiä kappaleittain (myös taulukot ja bullet pointit). Jakeisiin lisätään myös kommentointityökalulla tehdyt kommentit, joita ei vielä ole siirretty wikitekstiin, sekä tämän sivun koodilla lisätyt jakeet [[#Jakeenlisäyskone]]. '''<br /><br />
<br />
'''[[#Avainsanat]] ovat jaekohtaisia ja ne lisätään yleensä käsityönä [[#Avainsanoitus]].'''<br /><br />
<br />
'''[[#Relaatiot]] voidaan määritellä kahden jakeen välille (myös käsityötä)'''<br /><br />
<br />
'''[[#Versiot]] - wikisivuja päivitetään mahdollisesti jatkuvasti, minkä johdosta versiointi on tarpeellista. Koska jakeet ovat versiokohtaisia niin avainsanat ja relaatiot ovat sitä myös. Avainsanojen ja relaatioiden automaattista periytymistä on kehitetty, mutta koodi on vielä kesken [[#Sulautus (automaattinen sisällytys)]].'''<br />
<br />
== Yhdistelmähakukoneet ==<br />
=== Jaekohtainen avainsanalistaus ===<br />
'''Hakee jakeita ja näyttää kaikki niihin liittyvät avainsanat'''<br />
<rcode label="Hae" name="avainsanat_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) == 0) {<br />
stop("Jakeita ei löytynyt!")<br />
}<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
} else {<br />
# Yhdistetään kunkin jakeen avainsanat yhdelle riville<br />
tags <- ddply(<br />
tags, <br />
c("Versio", "Sivu", "JaeID"), <br />
function(x) {a <- x[1,];a$Avainsanat <- paste(x$Result, collapse = ", ");return(a)}<br />
)<br />
<br />
out <- join(<br />
out[c("Versio", "Sivu", "JaeID", "Result")],<br />
tags[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
by = c("Versio", "Sivu", "JaeID"),<br />
type = "inner",<br />
match = "first"<br />
)<br />
<br />
# Jos annettiin vain yksi versio ja/tai sivu niin niitä ei tarvitse printata<br />
filter_ind <- NULL<br />
if (length(version) != 1) filter_ind <- c(filter_ind, "Versio")<br />
if (length(sivu) != 1) filter_ind <- c(filter_ind, "Sivu")<br />
filter_ind <- c(filter_ind, "JaeID")<br />
<br />
oprint(<br />
out[c(filter_ind, "Result", "Avainsanat")], <br />
include.rownames = FALSE, <br />
show_all = TRUE<br />
)<br />
}<br />
</rcode><br />
<br />
=== Jae-relaatio-jae listaus ===<br />
'''Hakee jakeita ja niihin liittyviä toisia jakeita listaten myös relaation tyypin'''<br />
<rcode label="Hae" name="relaatiot_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta relaatioita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:liitsis|description:Liittymistyyppi (tyhjä = kaikki)|type:checkbox|options:<br />
'tukee tai on linjassa';Tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';Vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';On neutraali suhteessa;<br />
'on uusi linjaus tai painotus';On uusi linjaus tai painotus;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';Ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';Ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin';Ehdotus ei ole antanut aihetta muutoksiin;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';Ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:details|description:Näytetäänkö tekniset yksityiskohdat?|type:selection|options:FALSE;Ei, vain jakeiden sisältö;TRUE;Kyllä, myös jakeiden numerot|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
# Eri sisältymistyypit pitää määritellä niin että ne voidaan käsitellä erillään muista relaatioista<br />
sis_opt <- c(<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu',<br />
'ehdotus huomioitu ja uusi kohta lisätty',<br />
'ehdotus ei ole antanut aihetta muutoksiin', <br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun'<br />
)<br />
#liit_opt <- c(<br />
# 'tukee tai on linjassa',<br />
# 'vastustaa tai on ristiriidassa',<br />
# 'on neutraali suhteessa',<br />
# 'on uusi linjaus tai painotus'<br />
#)<br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (!is.null(liitsis)) rel <- rel[rel$Result %in% liitsis, ]<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = unique(c(<br />
as.character(rel$Sivu1), <br />
as.character(rel$Sivu2)<br />
)), <br />
versio = version, <br />
jae = unique(c(<br />
as.character(rel$JaeID1), <br />
as.character(rel$JaeID2)<br />
))<br />
)<br />
if (nrow(jakeet) == 0) stop("Relaatioissa listattuja jakeita ei löytynyt!")<br />
<br />
# Relaatiot<br />
if (nrow(rel[!(rel$Relaatio %in% sis_opt),]) > 0) {<br />
jakeet <- jakeet[c("Versio", "Sivu", "JaeID", "Result")]<br />
colnames(jakeet)[colnames(jakeet) == "JaeID"] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu"] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Jae1"<br />
rel <- rel[c("RelaatioID", "Versio", "Sivu1", "JaeID1", "Result", "Sivu2", "JaeID2")]<br />
colnames(rel)[colnames(rel) == "Result"] <- "Relaatio"<br />
out <- join(<br />
rel[(!(rel$Relaatio %in% sis_opt)) & rel$Versio %in% original_version,], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
out <- join(out, jakeet, match = "first")<br />
<br />
if(details) {<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
<br />
temp <- out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")]<br />
temp <- data.frame(<br />
Jae1 = paste(temp$Jae1, " (", temp$Sivu1, ")", sep = ""),<br />
Relaatio = temp$Relaatio,<br />
Jae2 = paste(temp$Jae2, " (", temp$Sivu2, ")", sep = "")<br />
)<br />
oprint(temp, <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
}<br />
} else {<br />
cat("Ei relaatioita!\n")<br />
}<br />
<br />
# Sisällytykset<br />
if (nrow(rel[(rel$Relaatio %in% sis_opt),]) > 0) {<br />
colnames(jakeet)[colnames(jakeet) %in% c("JaeID","JaeID2")] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Sivu", "Sivu2")] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Result", "Jae2")] <- "Jae1"<br />
colnames(rel)[colnames(rel) == "Relaatio"] <- "Sisällytys"<br />
out <- join(<br />
rel[rel$Sisällytys %in% sis_opt & rel$Versio %in% version[-length(version)],], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
jakeet$Versio <- as.numeric(as.character(jakeet$Versio)) - 1<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Sisällytys", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Sisällytys (uudempaan versioon)", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei sisällytyksiä!\n")<br />
}<br />
}<br />
</rcode><br />
<br />
=== Avainsana- ja relaatiotietojen analyysi ===<br />
<br />
'''Hae jakeita annetuilla kriteereillä ja vertaile avainsanojen ja relaatioiden lukumääriä. Halutessasi voit myös listata jaeosumat. Vapaakenttiin voi syöttää useita arvoja erottelemalla ne pilkuilla.'''<br />
<br />
Käytetyt avainsanat:<br />
{{piilotettu|<br />
3D-tulostus Aikataulut Ajoneuvokanta Alueellisuus <br />
alustus Ammattiryhmät Arvo Asutus <br />
Aurinko Automatisaatio Avoimuus Big Data <br />
Biopolttoaine Dataliikenne Digitalisoituminen Eettisyys <br />
eIDAS Elintaso Energia Epäselvä luokka <br />
Eriarvoisuus Erityisryhmät Esineiden internet Globaalius <br />
Globaaluis Henkilökortti Henkilötiedot Huutokauppa <br />
Hybridi Hybridi-TV Hyvinvointi Hyvinvointiyhteiskunta <br />
Häiriöt Ilmasto Infrastruktuuri Innovatiivisus <br />
Innovatiivisuus Internet Investoinnit Joukkoliikenne <br />
Joustavuus Julkinen valta Kaivosteollisuus Kansainvälisyys <br />
Kasvihuonekaasut Kaupallisuus Kaupungit Kehitys <br />
Kestävyys Kevyen liikenteen väylät Kevytliikenne Kiinteistöt <br />
Kilpailu Kilpailukyky Konesalit Konkreettisuus <br />
Kotimaisuus Koulutus Kunnat Kustannustehokkuus <br />
Kuuluvuus Kävely Laajakaista Lainsäädäntö <br />
Laiton tarjonta Langattomuus Lappi Lentoliikenne <br />
Liikenne Liikenneverkostot Liikkumistili Linja-autot <br />
Logistiikka Luonnonsuojelu Lämmitys Maakaasu <br />
Maatalous Mainonta Markkinat Massavalvonta <br />
Meriliikenne Metadata Mobiiliverkko Mopot <br />
Nopeus Ohjaus Ohjelmistot Ohjelmistotoimittaja <br />
Oikeusturva Omavaraisuus Operaattori Osaaminen <br />
Ostovoima Palaute Palvelut Palvelutaso <br />
Peruskunto Pilvipalvelut Polttoaine Posti <br />
Puelueettomuus Pysäköinti Pyöräily Päivitys <br />
Pääkaupunkiseutu Päästöt Päätöksenteko Päätös <br />
Raha Rahoitus Rahtliikenne Rajapinnat <br />
Rakennemuutos Rakentaminen Raskas liikenne Rautatiet <br />
Riippuvuus Rikokset Robotisaatio Ruuhkamaksu <br />
Ruuhkautuminen Saatavuus Sateliittipaikannus Sovellukset <br />
Strategia Suunnittelu Sähkö Sähköauto <br />
Sääntely Säästöt Talous Talouskasvu <br />
Tarpeet Tasa-arvo Tasapuolisuus Tasavertaisuus <br />
Tavaraliikenne Tehokkuus Tekijänoikeus Tekniikkaneutraalius <br />
Tekninen tuki Teknologia Teknologianeutraalius Teollisuus <br />
Terveydenhuolto Terveys testi Tiedon avoimuus <br />
Tiedon hallinnointi Tiedon hallinta Tiedon hyödyntäminen Tieliikenne <br />
Tietoliikenne Tietoturva Toimilupa Toiminta <br />
Toimintavarmuus Toimivuus Tuki Turvallisuus <br />
Turvaverkko Tutkimus Tuuli TV <br />
Työllisyys Työn tekemiseen liittyvä Ulkomaat Uudistus <br />
Vaihtoehtoiset polttoaineet Vaikuttaminen Vaikutus Vakuutus <br />
Valinnanvapaus Valtio Varmenne Varmuus <br />
Vastuu Verkostoituminen Verotus Vesiliikenne <br />
Vesiliikenne, Tasavertaisuus Viestintäverkot Viranomaiset Yhteensopivuus <br />
Yhteiskunta Yhteiskuntamurros Yhteistyö Yhteysnopeus <br />
Yksityisautoilu Yksityisyydensuoja YLE Yleispalvelu <br />
Yleisradio Ympäristö Yritykset Öljy <br />
}}<br />
<br />
<rcode label="Näytä tilastoja/jakeita" name="jae_stats" embed=1 graphics=1 variables="<br />
name:sivu|description:Minkä sivun jakeita haluat tarkastella?|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:avainsanat|description:Hae jakeita joilla on ainakin yksi seuraavista avainsanoista|type:text|<br />
name:avainsanat_all|description:Hae jakeita joilla on kaikki seuraavat avainsanat|type:text|<br />
name:jaelista|description:Haluatko nähdä kaikki löydetyt jakeet?|type:selection|options:FALSE;En;TRUE;Kyllä|default:FALSE|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
library(ggplot2)<br />
<br />
filter <- list()<br />
if (nchar(gsub(" ", "", avainsanat)) > 0) {<br />
avainsanat <- strsplit(avainsanat, ",")[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat) <br />
} else {<br />
avainsanat <- NULL<br />
}<br />
if (nchar(gsub(" ", "", avainsanat_all)) > 0) {<br />
avainsanat_all <- strsplit(avainsanat_all, ",")[[1]]<br />
avainsanat_all <- gsub("^\\s*|\\s*$", "", avainsanat_all)<br />
#filter$Avainsana <- avainsanat_all<br />
} else {<br />
avainsanat_all <- NULL<br />
}<br />
filter$Sivu <- sivu<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
filter$Versio <- version<br />
<br />
if (length(filter) == 0) filter <- NULL<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
jaeid <- NULL<br />
<br />
if (!is.null(avainsanat)|!is.null(avainsanat_all)) {<br />
tags <- tags[tags$Result %in% c(avainsanat, avainsanat_all), ]<br />
jaeid <- unique(as.character(tags$JaeID))<br />
}<br />
<br />
if(!is.null(avainsanat_all)) {<br />
temp <- list()<br />
for (i in 1:nrow(jaeid)) {<br />
temp[[i]] <- avainsanat_all %in% tags$Result[tags$JaeID == jaeid[i]]<br />
}<br />
temp <- lapply(temp, all)<br />
jaeid <- jaeid[temp]<br />
tags <- tags[tags$JaeID %in% jaeid,]<br />
}<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt.\n")<br />
}<br />
<br />
if (is.null(filter)) {<br />
filter2 <- list()<br />
} else {<br />
filter2 <- filter<br />
}<br />
<br />
filter2$JaeID <- jaeid<br />
<br />
if (length(filter2) == 0) filter2 <- NULL<br />
<br />
if (jaelista) {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = filter2$Sivu, # *list$non-existent returns NULL<br />
versio = filter2$Versio, <br />
jae = filter2$JaeID<br />
)<br />
if (nrow(jakeet) == 0) {<br />
cat("Avainsanoissa listattuja jakeita ei löytynyt.\n")<br />
} else {<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Sisältö"<br />
tagged <- NULL<br />
if (nrow(tags) > 0) {<br />
#tagged <- join(<br />
# jakeet[c("Versio", "Sivu", "Aihe", "JaeID")], <br />
# tags[c("Versio", "Sivu", "JaeID", "Result")]<br />
#)<br />
#colnames(tagged)[colnames(tagged) == "Result"] <- "Avainsana"<br />
tagged <- tapply(tags$Result, tags[c("Versio", "Sivu", "JaeID")], paste, collapse = ", ")<br />
tagged <- as.data.frame(as.table(tagged))<br />
colnames(tagged)[colnames(tagged) == "Freq"] <- "Avainsanat"<br />
tagged <- join(<br />
jakeet[c("Versio", "Sivu", "JaeID", "Sisältö")], <br />
tagged[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
type = "inner",<br />
match = "first"<br />
)<br />
oprint(<br />
tagged[c("Versio", "Sivu", "JaeID", "Sisältö", "Avainsanat")],<br />
caption = "Jakeet", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = rep(0, 6)<br />
)<br />
}<br />
}<br />
}<br />
<br />
if (nrow(tags) > 0) {<br />
tags_out <- ddply(tags, "Result", nrow)<br />
colnames(tags_out) <- c("Avainsana", "Lukumäärä")<br />
tags_out <- tags_out[order(tags_out$Lukumäärä, decreasing = TRUE),]<br />
oprint(<br />
tags_out,<br />
caption = "Avainsanojen lukumäärät", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = c(0, 0, 0)<br />
)<br />
ggplot(tags_out, aes(x = Avainsana, y = Lukumäärä, fill = Avainsana)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Avainsanojen frekvenssit")<br />
}<br />
<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter3 <- list()<br />
filter3$Sivu1 <- sivu<br />
filter3$Versio <- version<br />
filter3$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter3$JaeID1 <- NULL<br />
filter3$Sivu1 <- NULL<br />
filter3$JaeID2 <- jaeid<br />
filter3$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
related <- rel[<br />
rel$Result %in% c(<br />
"on neutraali suhteessa", <br />
"on uusi linjaus tai painotus", <br />
"tukee tai on linjassa", <br />
"vastustaa tai on ristiriidassa"<br />
), ]<br />
related$Result <- as.character(related$Result)<br />
affected <- rel[<br />
rel$Result %in% c(<br />
"ehdotus ei ole antanut aihetta muutoksiin",<br />
"ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun", <br />
"ehdotus huomioitu ja liittyvää painotusta muutettu",<br />
"ehdotus huomioitu ja uusi kohta lisätty"<br />
), ]<br />
affected$Result <- as.character(affected$Result)<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin"] <- "Ei aihetta muutoksiin"<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun"] <- "Sisältyy valmiiksi"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja liittyvää painotusta muutettu"] <- "Huomioitu painotuksella"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja uusi kohta lisätty"] <- "Huomioitu lisäyksellä"<br />
<br />
related_out <- ddply(related, "Result", nrow)<br />
colnames(related_out) <- c("Relaatio", "Lukumäärä")<br />
<br />
affected_out <- ddply(affected, "Result", nrow)<br />
colnames(affected_out) <- c("Sisällytys", "Lukumäärä")<br />
}<br />
<br />
if (nrow(related_out > 0)) {<br />
ggplot(related_out, aes(x = Relaatio, y = Lukumäärä, fill = Relaatio)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Relaatioiden frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
<br />
if (nrow(affected_out > 0)) {<br />
ggplot(affected_out, aes(x = Sisällytys, y = Lukumäärä, fill = Sisällytys)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Sisällytyksen frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
</rcode><br />
<br />
== Työkalut ==<br />
'''Aineiston työstämiseen tarkoitettuja koodeja.'''<br />
=== Jakeet ===<br />
==== Jaehakukone ====<br />
'''Hakee jakeita annetuilla kriteereillä. Näyttää myös tekniset sarakkeet. Vapaakenttiin voi laittaa useita arvoja erottelemalla ne pilkuilla.'''<br />
<rcode label="Näytä jakeet" name="jakeet" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Jakeita ei löytynyt!\n")<br />
}<br />
</rcode><br />
<br />
==== Jakeenlisäyskone ====<br />
'''Lisää tietokantaan vapaasti määriteltävän jakeen. Lisätyt jakeet näkyvät tämän sivun hakukoneissa. Niiden JaeID:llä on "L"-etuliite.'''<br />
<rcode label="Lisää jae" name="jakeenlisays" embed=1 variables="<br />
name:sivu|description:Sivu jolle jae lisätään|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:sisalto|description:Jakeen sisältö|type:textbox|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame( <br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
JaeID = NA,<br />
Result = sisalto<br />
)<br />
<br />
ident.subset <- paste(ident, "Jakeenlisaykset", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
filter$Sivu <- sivu<br />
<br />
upload_with_autoid(<br />
out,<br />
ident.subset,<br />
id_name = "JaeID",<br />
pagename = pagename,<br />
prefix = "L",<br />
filter = filter<br />
)<br />
</rcode><br />
<br />
==== Jakeenpoistokone ====<br />
'''Merkitsee jakeen epäkelvoksi, jolloin se jätetään näyttämättä kaikissa tämän sivun hakukoneissa.'''<br />
<rcode label="Poista jae" name="jakeenpoisto" embed=1 variables="<br />
name:sivu|description:Poistettavan jakeen sivu|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Poistettavan jakeen ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Tekninen jae';Tekninen jae;<br />
'Jae ei liity sivun aiheeseen';Jae ei liity sivun aiheeseen;<br />
'Jae on häiriköintiä';Jae on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jaeid <- strsplit(jaeid, ",", fixed = TRUE)[[1]]<br />
jaeid <- gsub(" ", "", jaeid)<br />
<br />
if (sum(nchar(jaeid)) == 0) stop("Anna jakeen ID")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame(<br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = as.character(jaeid)<br />
)<br />
<br />
opbase.upload(<br />
out, <br />
who = wiki_username, <br />
name = pagename,<br />
subset = "Jakeenpoistot",<br />
act_type = "append", <br />
language = "fin"<br />
)<br />
</rcode><br />
<br />
=== Avainsanat ===<br />
==== Avainsanahakukone ====<br />
'''Hakee jaekohtaisia avainsanoja. Näyttää datan sellaisena kuin se on tietokannassa.'''<br />
<rcode label="Näytä avainsanat" name="avainsanat_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka avainsanoja haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
out <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
==== Avainsanoitus ====<br />
'''Lisää tietokantaan annetut avainsanat. Avainanoja voidaan lisätä ruksaamalla annetusta listasta (vain yleisimmät), tai syöttämällä vapaakenttään pilkulla eroteltuna.'''<br />
<rcode label="Lisää avainsana" name="avainsananlisays" embed=1 variables="<br />
name:sivu|description:Minkä sivun jakeelle haluat lisätä avainsanoja?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Mikä on jakeen versio?|type:text|default:nykyinen|<br />
name:jae|description:Mikä on jakeen ID?|type:text|<br />
name:yl_avainsanat|description:Valitse alla olevasta listasta yleisiä avainsanoja.|type:checkbox|options:<br />
'Päätös';A Päätös (jae sisältää päätös- tai toimintaehdotuksen);<br />
'Vaikutus';B Vaikutus (jae kuvaa ilmiötä tai vaikutusta);<br />
'Arvo';C Arvo (jakeessa on arvoarvostelma tai kuvaa asian merkitystä);<br />
'Työn tekemiseen liittyvä';D Katsaustyön tekemiseen liittyvä;<br />
'Epäselvä luokka';E Ei mikään edellisistä (valitse ainakin yksi A-E)|<br />
name:avainsanat|description:Laita halutessasi yllä listaamattomattomia avainsanoja tähän pilkulla eroteltuna.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
avainsanat <- strsplit(avainsanat, ",", fixed = TRUE)[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat)<br />
avainsanat <- avainsanat[nchar(avainsanat) > 0]<br />
avainsanat <- c(yl_avainsanat, avainsanat)<br />
if (length(avainsanat) == 0) stop("Yhtään avainsanaa ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
AvainsanaID = NA, <br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Sivu = sivu,<br />
JaeID = as.character(jae), <br />
Result = avainsanat<br />
)<br />
<br />
ident.subset <- paste(ident, "Avainsanat", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "AvainsanaID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Avainsanojen lisääminen onnistui.\n")<br />
</rcode><br />
==== Avainsanan poisto ====<br />
'''Merkitsee avainsanan epäkelvoksi, jolloin tämän sivun hakukoneet eivät näytä sitä.'''<br />
<rcode name="avainsananpoisto" embed=1 label="Poista avainsana" showcode=0 variables="<br />
name:avid|description:Poistettavan avainsanan ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Avainsana ei päde uudessa versiossa';Avainsana ei päde uudessa versiossa;<br />
'Virheellinen avainsana';Virheellinen avainsana|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
avid <- strsplit(avid, ",", fixed = TRUE)[[1]]<br />
avid <- gsub(" ", "", avid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = avid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Avainsana poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
<br />
<br />
=== Relaatiot ===<br />
==== Relaatiohakukone ====<br />
'''Hakee relaatioita joissa mahdollisesti annetut jakeet esiintyvät. Näyttää datan sellaisena kuin se on tietokannassa.'''<br />
<rcode label="Näytä relaatiot" name="relaatiot_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka relaatioita haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
out <- rbind(rel1, rel2)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(<br />
out, <br />
include.rownames = FALSE,<br />
caption = "Relaatiot", <br />
caption.placement = "top"<br />
)<br />
} else {<br />
cat("Relaatioita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
==== Relaation lisääminen ====<br />
'''Lisää uuden relaation tietokantaan. Samantyyppisiä relaatioita voi kerralla lisätä useita, kun erottelee JaeID:t pilkuilla: relaatiot määräytyvät kaikki yhteen, yksi kaikkiin tai yksi yhteen. '''<br />
<rcode label="Lisää relaatio" name="relaatio" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:nykyinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID?|type:text|<br />
name:relaatio|description:'''Kuinka lähtöjae liittyy kohdejakeeseen?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'tukee tai on linjassa';tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';on neutraali suhteessa;<br />
'on uusi linjaus tai painotus';on uusi linjaus tai painotus;<br />
'kuuluu ryhmään/kokoelmaan';kuuluu ryhmään/kokoelmaan|<br />
name:lisarelaatio|description:VAPAAEHTOINEN Voit antaa oman jakeiden välisen relaation vapaakenttään.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
relaatio <- ifelse(lisarelaatio == '', relaatio, lisarelaatio)<br />
if (nchar(gsub(" ", "", relaatio)) == 0) stop("Relaatiota ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = relaatio<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Relaation lisääminen onnistui.\n")<br />
<br />
</rcode><br />
==== Sisällytyksen lisääminen ====<br />
'''Lisää uuden sisällytyksen tietokantaan. Sisällytys tapahtuu aina seuraavaan versioon. Samantyyppisiä sisällytyksiä voi kerralla lisätä useita, kun erottelee JaeID:t pilkuilla: sisällytykset määräytyvät kaikki yhteen, yksi kaikkiin tai yksi yhteen. '''<br />
<rcode label="Lisää sisällytys" name="sisallytys" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:edellinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID (uudemmassa versiossa)?|type:text|<br />
name:sisallytys|description:'''Sisällytettiinkö ehdotus uudempaan versioon?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun;<br />
'ehdotus ei ole antanut aihetta muutoksiin';ehdotus ei ole antanut aihetta muutoksiin|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
if (nchar(gsub(" ", "", sisallytys)) == 0) stop("Sisällytyksen tyyppiä ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "edellinen") {<br />
version <- get_current_version(ident) - 1<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = sisallytys<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Sisällytyksen lisääminen onnistui.\n")<br />
<br />
</rcode><br />
==== Relaation poisto ====<br />
'''Merkitsee relaation/sisällytyksen epäkelvoksi, jolloin tämän sivun hakukoneet eivät näytä sitä.'''<br />
<rcode name="relaationpoisto" embed=1 label="Poista relaatio" showcode=0 variables="<br />
name:relid|description:Poistettavan relaation ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Relaatio ei päde uudessa versiossa';Relaatio ei päde uudessa versiossa;<br />
'Virheellinen relaatio';Virheellinen relaatio|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
relid <- strsplit(relid, ",", fixed = TRUE)[[1]]<br />
relid <- gsub(" ", "", relid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = relid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Relaatio poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Sulautus (automaattinen sisällytys) ===<br />
'''Etsii edellisestä versiosta jakeita joiden sisältö löytyy uudessa versiossa jonkin jakeen sisällöstä. Koodi on keskeneräinen johtuen R:n peruskirjaston sisäisestä bugista joka estää samanaikaisen approksimaalisen että osittaisen osuman haun.''' <br />
{{tuloslinkki}}<br />
<br />
<rcode label="Etsi sulautuksia" name="sulautus" embed=0 variables="<br />
name:sivu|description:Sivut joihin sulautus tehdään (kaikista edellisen version jakeista)|type:checkbox|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:toleranssi|description:Toleranssi (Levenshtein distance)|default:5|<br />
name:tallenna|description:Tallenna kantaan|type:selection|options:TRUE;Kyllä;FALSE;Ei|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
mdat <- get_meta_data(ident)<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
version <- c(version - 1, version)<br />
<br />
jakeet <- jaehakukone(ident, versio = version)<br />
<br />
ver1 <- jakeet[jakeet$Versio == version[1],]<br />
ver2 <- jakeet[jakeet$Versio == version[2] & jakeet$Sivu == sivu,]<br />
<br />
# adist too slow<br />
d <- adist(<br />
ver1$Result, <br />
ver2$Result,<br />
fixed = FALSE<br />
)<br />
d[is.na(d)] <- Inf<br />
#d_min <- apply(d, 1, min)<br />
#d_tol <- d <= toleranssi<br />
#d_out <- apply(d, 1, which.min)<br />
<br />
colnames(ver1)[colnames(ver1) == "Versio"] <- "Versio1"<br />
colnames(ver1)[colnames(ver1) == "Sivu"] <- "Sivu1"<br />
colnames(ver1)[colnames(ver1) == "JaeID"] <- "JaeID1"<br />
colnames(ver1)[colnames(ver1) == "Result"] <- "Result1"<br />
<br />
colnames(ver2)[colnames(ver2) == "Versio"] <- "Versio2"<br />
colnames(ver2)[colnames(ver2) == "Sivu"] <- "Sivu2"<br />
colnames(ver2)[colnames(ver2) == "JaeID"] <- "JaeID2"<br />
colnames(ver2)[colnames(ver2) == "Result"] <- "Result2"<br />
<br />
#out <- cbind(ver1[d_min <= toleranssi, ], ver2[d_out[d_min <= toleranssi], ])<br />
<br />
d <- alply(d, 1, I)<br />
d_tol <- llply(d, function(x) {x <= toleranssi})<br />
d_reps <- laply(d_tol, sum)<br />
d_w <- llply(d_tol, which)<br />
d_w <- unlist(d_w)<br />
<br />
out <- cbind(ver1[rep(1:nrow(ver1), d_reps),], ver2[d_w, ])<br />
<br />
#d <- NULL<br />
#n <- NULL<br />
#for (i in 1:nrow(ver1)) {<br />
# for (j in split(ver2$Result, ceiling((1:nrow(ver2)) / 100))) {<br />
# temp <- agrep(ver1$Result[i], j, toleranssi)<br />
# d <- append(d, temp)<br />
# n <- append(n, length(temp))<br />
# }<br />
#}<br />
<br />
#out <- cbind(<br />
# ver1[rep(1:nrow(ver1), n),],<br />
# ver2[d,]<br />
#)<br />
if (tallenna) {<br />
opbase.upload(<br />
out,<br />
name = pagename,<br />
who = wiki_username,<br />
subset = "Sulautukset"<br />
)<br />
} else { <br />
oprint(<br />
out, <br />
include.rownames = FALSE, <br />
digits = rep(0, ncol(out) + 1), <br />
caption("Sulautus uuteen versioon"), <br />
caption.placement = "top",<br />
show.all = TRUE<br />
)<br />
}<br />
</rcode><br />
<br />
== Versiot ==<br />
<br />
<t2b name="Versiot" index="Versio,Sivu,Ident" unit="OldID"><br />
1|Liikenne ja viestintä palveluna|Op_fi4248|<br />
1|Liikenteen palvelumarkkinat|Op_fi4253|<br />
1|Liikenteen energiareformi|Op_fi4254|<br />
1|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
1|Monipuoliset sisällöt|Op_fi4256|<br />
1|Oma Painotus Teema I|Op_fi4257|<br />
1|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
1|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
1|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
1|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
1|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
1|Oma Painotus Teema II|Op_fi4262|<br />
1|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
1|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
1|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
1|Arktinen strategia|Op_fi4265|<br />
1|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
1|Oma Painotus Teema III|Op_fi4267|<br />
1|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
2|Liikenne ja viestintä palveluna|Op_fi4248|<br />
2|Liikenteen palvelumarkkinat|Op_fi4253|<br />
2|Liikenteen energiareformi|Op_fi4254|<br />
2|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
2|Monipuoliset sisällöt|Op_fi4256|<br />
2|Oma Painotus Teema I|Op_fi4257|<br />
2|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
2|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
2|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
2|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
2|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
2|Oma Painotus Teema II|Op_fi4262|<br />
2|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
2|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
2|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
2|Arktinen strategia|Op_fi4265|<br />
2|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
2|Oma Painotus Teema III|Op_fi4267|<br />
2|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
</t2b></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=K%C3%A4ytt%C3%A4j%C3%A4:Teemu_R/Ty%C3%B6aika&diff=25155
Käyttäjä:Teemu R/Työaika
2014-08-04T08:03:07Z
<p>Teemu R: </p>
<hr />
<div><t2b index="Aikalaji,Projekti,Alaprojekti,Havainto" Locations="alku,loppu,toistoväli,asti,kuvaus" unit="d"><br />
Työaika|Urgenche||2014-06-10 13:00|2014-06-10 16:00|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-10 20:00|2014-06-10 23:00|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-11 10:00|2014-06-11 14:20|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-11 16:20|2014-06-11 22:20|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-12 10:00|2014-06-12 15:00|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-13 13:00|2014-06-13 17:00|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-15 21:00|2014-06-15 23:00|||Energiatase-mallin korjailu<br />
Työaika|LVM||2014-06-16 10:00|2014-06-16 14:00|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-16 14:30|2014-06-16 17:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-17 12:00|2014-06-17 18:00|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-17 22:30|2014-06-17 23:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-18 12:30|2014-06-18 17:00|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-19 11:00|2014-06-19 16:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-23 11:00|2014-06-23 16:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-23 17:00|2014-06-23 19:00|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-24 10:45|2014-06-24 13:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-24 15:30|2014-06-24 20:20|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-24 21:10|2014-06-24 22:45|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-06-25 10:30|2014-06-25 15:00|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-25 15:30|2014-06-25 18:30|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-26 10:30|2014-06-26 14:30|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-26 16:00|2014-06-26 19:50|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-27 08:30|2014-06-27 12:00|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-30 12:00|2014-06-30 16:30|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-06-30 17:30|2014-06-30 20:50|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-01 11:00|2014-07-01 14:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-02 12:20|2014-07-02 16:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-03 11:40|2014-07-03 16:30|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-03 19:30|2014-07-03 23:15|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-04 10:40|2014-07-04 12:25|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-05 08:10|2014-07-05 10:50|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-05 12:20|2014-07-05 15:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-07 11:10|2014-07-07 14:20|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-07 16:05|2014-07-07 17:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-09 18:45|2014-07-09 20:25|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-10 14:40|2014-07-10 18:40|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-10 20:10|2014-07-10 22:05|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-11 13:40|2014-07-11 15:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-11 15:50|2014-07-11 16:20|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-14 10:05|2014-07-14 14:05|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-14 16:00|2014-07-14 19:25|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-15 12:05|2014-07-15 14:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-15 15:10|2014-07-15 15:55|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-16 12:15|2014-07-16 15:20|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-17 11:30|2014-07-17 14:35|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-17 15:15|2014-07-17 17:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-18 11:10|2014-07-18 15:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-18 15:50|2014-07-18 16:45|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-21 11:35|2014-07-21 13:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-22 10:50|2014-07-22 16:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-22 16:30|2014-07-22 21:35|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-23 11:30|2014-07-23 12:30|||Tägikoneen kehittäminen<br />
Työaika|Urgenche||2014-07-24 12:00|2014-07-24 16:15|||Building model<br />
Työaika|Urgenche||2014-07-24 17:00|2014-07-24 21:00|||Building model<br />
Työaika|Urgenche||2014-07-25 11:05|2014-07-25 14:50|||Building model<br />
Työaika|Urgenche||2014-07-25 15:20|2014-07-25 15:55|||Building model<br />
Työaika|ROKO||2014-07-28 10:55|2014-07-28 15:35|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-28 16:05|2014-07-28 17:30|||Tägikoneen kehittäminen<br />
Työaika|Urgenche||2014-07-29 11:00|2014-07-29 15:40|||Building model<br />
Työaika|Urgenche||2014-07-30 13:40|2014-07-30 16:55|||Building model<br />
Työaika|Urgenche||2014-07-31 11:05|2014-07-31 16:20|||Building model<br />
</t2b><br />
<br />
<rcode embed=1 label="Laske tunnit"><br />
library(OpasnetUtils)<br />
<br />
dat <- opbase.data("Op_fi3349")<br />
<br />
alku <- dat[dat$Havainto == "alku", "Result"]<br />
loppu <- dat[dat$Havainto == "loppu", "Result"]<br />
<br />
tunnit <- as.POSIXct(loppu) - as.POSIXct(alku)<br />
oprint(tunnit)<br />
oprint(tapply(tunnit, factor(as.numeric(strftime(alku, format = "%W"))+1), sum))<br />
oprint(sum(tunnit))<br />
</rcode><br />
<br />
<br />
<rcode embed=1 label="Laske edelliset tunnit"><br />
library(OpasnetUtils)<br />
<br />
dat <- opbase.data("Op_fi3349", 12721)<br />
<br />
alku <- dat[dat$Havainto == "alku", "Result"]<br />
loppu <- dat[dat$Havainto == "loppu", "Result"]<br />
<br />
oprint(sum(as.POSIXct(loppu) - as.POSIXct(alku)))<br />
</rcode></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=K%C3%A4ytt%C3%A4j%C3%A4:Teemu_R/Ty%C3%B6aika&diff=25154
Käyttäjä:Teemu R/Työaika
2014-08-04T06:43:13Z
<p>Teemu R: </p>
<hr />
<div><t2b index="Aikalaji,Projekti,Alaprojekti,Havainto" Locations="alku,loppu,toistoväli,asti,kuvaus" unit="d"><br />
Työaika|Urgenche||2014-06-10 13:00|2014-06-10 16:00|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-10 20:00|2014-06-10 23:00|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-11 10:00|2014-06-11 14:20|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-11 16:20|2014-06-11 22:20|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-12 10:00|2014-06-12 15:00|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-13 13:00|2014-06-13 17:00|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-15 21:00|2014-06-15 23:00|||Energiatase-mallin korjailu<br />
Työaika|LVM||2014-06-16 10:00|2014-06-16 14:00|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-16 14:30|2014-06-16 17:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-17 12:00|2014-06-17 18:00|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-17 22:30|2014-06-17 23:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-18 12:30|2014-06-18 17:00|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-19 11:00|2014-06-19 16:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-23 11:00|2014-06-23 16:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-23 17:00|2014-06-23 19:00|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-24 10:45|2014-06-24 13:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-24 15:30|2014-06-24 20:20|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-24 21:10|2014-06-24 22:45|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-06-25 10:30|2014-06-25 15:00|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-25 15:30|2014-06-25 18:30|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-26 10:30|2014-06-26 14:30|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-26 16:00|2014-06-26 19:50|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-27 08:30|2014-06-27 12:00|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-30 12:00|2014-06-30 16:30|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-06-30 17:30|2014-06-30 20:50|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-01 11:00|2014-07-01 14:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-02 12:20|2014-07-02 16:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-03 11:40|2014-07-03 16:30|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-03 19:30|2014-07-03 23:15|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-04 10:40|2014-07-04 12:25|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-05 08:10|2014-07-05 10:50|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-05 12:20|2014-07-05 15:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-07 11:10|2014-07-07 14:20|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-07 16:05|2014-07-07 17:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-09 18:45|2014-07-09 20:25|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-10 14:40|2014-07-10 18:40|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-10 20:10|2014-07-10 22:05|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-11 13:40|2014-07-11 15:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-11 15:50|2014-07-11 16:20|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-14 10:05|2014-07-14 14:05|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-14 16:00|2014-07-14 19:25|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-15 12:05|2014-07-15 14:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-15 15:10|2014-07-15 15:55|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-16 12:15|2014-07-16 15:20|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-17 11:30|2014-07-17 14:35|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-17 15:15|2014-07-17 17:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-18 11:10|2014-07-18 15:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-18 15:50|2014-07-18 16:45|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-21 11:35|2014-07-21 13:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-22 10:50|2014-07-22 16:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-22 16:30|2014-07-22 21:35|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-23 11:30|2014-07-23 12:30|||Tägikoneen kehittäminen<br />
Työaika|Urgenche||2014-07-24 12:00|2014-07-24 16:15|||Building model<br />
Työaika|Urgenche||2014-07-24 17:00|2014-07-24 21:00|||Building model<br />
Työaika|Urgenche||2014-07-25 11:05|2014-07-25 14:50|||Building model<br />
Työaika|Urgenche||2014-07-25 15:20|2014-07-25 15:55|||Building model<br />
Työaika|ROKO||2014-07-28 10:55|2014-07-28 15:35|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-28 16:05|2014-07-28 17:30|||Tägikoneen kehittäminen<br />
Työaika|Urgenche||2014-07-29 11:00|2014-07-29 15:40|||Building model<br />
Työaika|Urgenche||2014-07-30 13:40|2014-07-30 16:55|||Building model<br />
Työaika|Urgenche||2014-07-31 11:05|2014-07-31 16:20|||Building model<br />
</t2b><br />
<br />
<rcode embed=1 label="Laske tunnit"><br />
library(OpasnetUtils)<br />
<br />
dat <- opbase.data("Op_fi3349")<br />
<br />
alku <- dat[dat$Havainto == "alku", "Result"]<br />
loppu <- dat[dat$Havainto == "loppu", "Result"]<br />
<br />
tunnit <- as.POSIXct(loppu) - as.POSIXct(alku)<br />
oprint(tunnit)<br />
oprint(tapply(tunnit, factor(strftime(alku, format = "%W")), sum))<br />
oprint(sum(tunnit))<br />
</rcode><br />
<br />
<br />
<rcode embed=1 label="Laske edelliset tunnit"><br />
library(OpasnetUtils)<br />
<br />
dat <- opbase.data("Op_fi3349", 12721)<br />
<br />
alku <- dat[dat$Havainto == "alku", "Result"]<br />
loppu <- dat[dat$Havainto == "loppu", "Result"]<br />
<br />
oprint(sum(as.POSIXct(loppu) - as.POSIXct(alku)))<br />
</rcode></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Kohdistamo&diff=25146
Kohdistamo
2014-07-31T08:13:21Z
<p>Teemu R: /* Korjauskoodi */</p>
<hr />
<div>[[op_en:Timetracker]]<br />
<br />
<rcode name="answer" embed=1 showcode=0 label="Tallenna kirjaus" variables="<br />
name:työ|description:Minkä työn haluat kirjata?|type:selection|options:<br />
'STM raportointi ja laskutus';STM raportointi ja laskutus;<br />
'EU raportointi ja laskutus';EU raportointi ja laskutus;<br />
'TEKES raportointi ja laskutus';TEKES raportointi ja laskutus;<br />
'SA raportointi ja laskutus';SA raportointi ja laskutus;<br />
'ESR/EAKR raportointi ja laskutus';ESR/EAKR raportointi ja laskutus;<br />
'MUUT raportointi ja laskutus';MUUT raportointi ja laskutus;<br />
'Budjettirahoitus';Budjettirahoitus;<br />
'Tilintarkastus';Tilintarkastus;<br />
'Yleinen projektinhallinta ja neuvonta';Yleinen projektinhallinta ja neuvonta;<br />
'Kehittäminen';Kehittäminen;<br />
'Koulutus';Koulutus;<br />
'Sisäiset palaverit';Sisäiset palaverit;<br />
'Vuosibudjetointi';Vuosibudjetointi;<br />
'Tilinpäätös';Tilinpäätös;<br />
'Pneumokokkirokote';Pneumokokkirokote;<br />
'LVM-tulevaisuuskatsaus';LVM-tulevaisuuskatsaus;<br />
'H2O';H2O;<br />
'Oletus';Oletus;<br />
'Ulos';Ulos;<br />
'Muu';Muu<br />
|default:'Pneumokokkirokote'|<br />
category:Henkilötietoa ei tarvitse antaa, jos olet kirjautuneena Opasnettiin|<br />
name:jaksoko|description:Mitä haluat kirjata?|type:selection|options:<br />
FALSE;Annan nykyhetken aloitusajaksi;<br />
TRUE;Annan työn alku- ja loppuhetken käsin|<br />
default:FALSE|<br />
name:muutyö|description:Muu työ, mikä?|type:text|<br />
category:Listalta puuttuva työ|category_conditions:työ;'Muu'|<br />
name:aika|description:Milloin aloitit?|type:datetime|<br />
category:Jakson ajoitus|category_conditions:jaksoko;TRUE|<br />
name:loppu|description:Mihin asti tämä työ jatkui?|type:datetime<br />
"><br />
library(OpasnetUtils)<br />
<br />
if(jaksoko) {<br />
alku <- as.character(aika)<br />
loppu <- as.character(loppu)<br />
} else {<br />
alku <- as.character(Sys.time())<br />
loppu <- NA<br />
}<br />
<br />
out <- data.frame(<br />
Työ = ifelse(työ == 'Muu', muutyö, työ),<br />
Henkilö = wiki_username,<br />
Aika = alku,<br />
Loppu = loppu,<br />
Result = 0<br />
)<br />
<br />
opbase.upload(input = out, ident = "Op_fi3948", name = "Kohdistamo", subset = "Kirjaukset", <br />
obj_type = "variable", act_type = "append", language = "fin", who = wiki_username<br />
)<br />
<br />
cat("Kirjaus onnistui. Nämä tiedot tallennettiin\n")<br />
oprint(out[colnames(out) != "Result"])<br />
</rcode><br />
<br />
<br />
<br />
<rcode graphics=0 name="output" embed=1 showcode=0 label="Hae kirjauksia" variables="<br />
category:Hae kirjauksia|<br />
name:alku|description:Seurantajakson alku|type:date|default:2014-02-06|<br />
name:loppu|description:Seurantajakson loppu|type:date|<br />
name:tekijä|description:Työntekijän käyttäjätunnus|type:text|default:Kaikki|<br />
name:projekti|description:Projekti|type:selection|options:<br />
'Kaikki';Kaikki;<br />
'STM raportointi ja laskutus';STM raportointi ja laskutus;<br />
'EU raportointi ja laskutus';EU raportointi ja laskutus;<br />
'TEKES raportointi ja laskutus';TEKES raportointi ja laskutus;<br />
'SA raportointi ja laskutus';SA raportointi ja laskutus;<br />
'ESR/EAKR raportointi ja laskutus';ESR/EAKR raportointi ja laskutus;<br />
'MUUT raportointi ja laskutus';MUUT raportointi ja laskutus;<br />
'Budjettirahoitus';Budjettirahoitus; <br />
'Tilintarkastus';Tilintarkastus;<br />
'Yleinen projektinhallinta ja neuvonta';Yleinen projektinhallinta ja neuvonta;<br />
'Kehittäminen';Kehittäminen;<br />
'Koulutus';Koulutus;<br />
'Sisäiset palaverit';Sisäiset palaverit;<br />
'Vuosibudjetointi';Vuosibudjetointi;<br />
'Tilinpäätös';Tilinpäätös;<br />
'Pneumokokkirokote';Pneumokokkirokote;<br />
'LVM-tulevaisuuskatsaus';LVM-tulevaisuuskatsaus;<br />
'H2O';H2O;<br />
'Oletus';Oletus;<br />
'Muu';Muu<br />
|default:'Kaikki'<br />
"><br />
library(OpasnetUtils)<br />
library(ggplot2)<br />
objects.latest("Op_en6007", code_name = "answer") # We need timing<br />
<br />
kirjausajat <- function(alku, loppu, tekijä, projekti){<br />
dat <- opbase.data("Op_fi3948", subset = 'Kirjaukset')<br />
poistot <- opbase.data("Op_fi3948", subset = 'Kirjauspoistot')<br />
<br />
# pois <- as.numeric(as.character(poistot$Kirjausnro)) # Varoitus nousee tästä, kun yritetään muuttaa numericiksi ei-numeerinen.<br />
# Varoitus tulee arvosta k1 mutta tällä ei ole käytännön merkitystä. Varoitus ei ole virhe eikä toiminta keskeydy.<br />
#<br />
# pois <- subset(pois, pois > 0)<br />
# dat <- dat[-pois , colnames(dat) != "Result"] # Tässä kohti voisi käyttää %in%iä, mutta dat[dat %in% poistot$Kirjausnro , ] <br />
# # ei ainakaan toiminut. En siis tiedä, miten kutsua dat:in rivinumerosaraketta.<br />
#<br />
# dat on data.frame ja siksi et voi käyttää sitä vertailussa vektoriin. Sen sijaan 1:nrow(dat) tuottaa juoksevan rivinumeroinnin dat:lle. <br />
# Kirjausnro puolestaan pitää muuttaa numeroiksi, jotta sitä voi verrata rivinumeroihin. Suositeltavampi tyyli on tämä:<br />
<br />
pois <- as.numeric(levels(poistot$Kirjausnro)[poistot$Kirjausnro])<br />
dat <- dat[!1:nrow(dat) %in% pois , colnames(dat) != "Result"]<br />
<br />
<br />
<br />
#tuntikirjaus <- opbase.data("Op_fi3950.tuntikirjaus")<br />
#työtehtävät <- opbase.data("Op_fi3950.tyotehtavat")<br />
#työsuunnitelma <- opbase.data("Op_fi3950.tyosuunnitelma")<br />
#tuntikirjaus <- tuntikirjaus[colnames(tuntikirjaus) != "Obs"]<br />
#työtehtävät <- työtehtävät[colnames(työtehtävät) != "Obs"]<br />
#työsuunnitelma <- työsuunnitelma[colnames(työsuunnitelma) != "Obs"]<br />
#colnames(työsuunnitelma)[colnames(työsuunnitelma) == "Result"] <- "Loppu"<br />
#työsuunnitelma <- data.frame(työsuunnitelma, Henkilö = "Jouni")<br />
<br />
<br />
dat <- dat[dat$Henkilö %in% tekijä , ]<br />
<br />
<br />
molemmat <- dat[dat$Loppu != "NA" , ]<br />
työ <- dat[dat$Loppu == "NA" , ]<br />
ulos <- työ[työ$Työ == "Ulos" , ]<br />
työ <- työ[työ$Työ != "Ulos" , ]<br />
<br />
if (length(työ$Työ) > length(ulos$Työ)) {työ <- työ[-((nrow(ulos)+1):nrow(työ)), ] <br />
työ$Loppu <- ulos$Aika<br />
} else työ$Loppu <- ulos$Aika<br />
<br />
työ <- rbind(työ, molemmat)<br />
<br />
if (projekti != "Kaikki") työ <- työ[työ$Työ == projekti , ]<br />
<br />
työ$Aika <- as.POSIXct(työ$Aika, tz = 'Europe/Helsinki')<br />
työ$Loppu <- as.POSIXct(työ$Loppu, tz = 'Europe/Helsinki')<br />
<br />
työ <- työ[<br />
työ$Aika >= as.POSIXct(alku, tz = 'Europe/Helsinki') &<br />
työ$Aika <= as.POSIXct(loppu, tz = 'Europe/Helsinki') +3600*24 ,<br />
]<br />
<br />
työaika <- (sum(as.numeric(työ$Loppu))-sum(as.numeric(työ$Aika)))<br />
<br />
työaika <- (round(työaika/3600, digits = 2))<br />
<br />
cat("Valitulla välillä tehty työaika on yhteensä ", työaika, " tuntia. \n")<br />
<br />
<br />
työ$Aika <- as.character(työ$Aika)<br />
työ$Loppu <- as.character(työ$Loppu)<br />
oprint(työ)<br />
#oprint(työsuunnitelma)<br />
#oprint(työtehtävät)<br />
<br />
#out <- poistot<br />
#oprint(out)<br />
<br />
<br />
#tuntikirjaus <- timing(tuntikirjaus, timecol = c("Aika", "Loppu"), weeks = 6)<br />
#timeline <- makeTimeline(tuntikirjaus)<br />
#timeline <- timeline[order(timeline$Time) , ]<br />
#timeline$Time[nrow(timeline)] <- max(timeline$Time, na.rm = TRUE)<br />
<br />
#for(i in 1:(nrow(timeline)-1)) {timeline$end[i] <- timeline$Time[i+1]}<br />
#timeline[nrow(timeline), "end"] <- NA<br />
#timeline$end <- as.POSIXct(timeline$end, origin = "1970-01-01")<br />
<br />
#ggplot(timeline, aes(<br />
# xmin = Time, # as.Date(as.character(Start))<br />
# xmax = end, # as.Date(as.character(End)) + 2<br />
# ymin = as.numeric(Henkilö),<br />
# ymax = as.numeric(Henkilö) + 1,<br />
# fill = Työ)) + geom_rect()<br />
# <br />
}<br />
<br />
if (tekijä != "Kaikki") tekijä <- gsub("\\s", "", unlist(strsplit(tekijä, ","))) else tekijä <- c("Sharp", "Heta", "Pauli", "Jaakko", "Mori", "Julia")<br />
kirjausajat(alku, loppu, tekijä, projekti)<br />
<br />
<br />
#objects.store(output, kirjausajat)<br />
# Periaatteena on kaksi koodia: initiate luo funktiot, ovariablet ja muut yleiskäyttöiset oliot ja tallentaa ne serverille.<br />
# Käyttökoodi answer kutsuu noita olioita ja suorittaa niillä tapauskohtaisia toimenpiteitä. Koska tämä on tapauskohtainen<br />
# koodi, ei kannata tallentaa olioita (ethän kutsu niitä missään). Kunhan koodi on vakiintunut, kannattaa se jakaa<br />
# yleiseen ja projektikohtaiseen. Esimerkiksi tekijöiden tunnukset kannattaa ottaa funktioon parametriksi, jotta funktio<br />
# olisi yleispätevä, ja parametrin arvo kerrotaan projektikohtaisessa koodissa.<br />
</rcode><br />
<br />
<br />
<br />
<br />
<rcode name="answer" embed=1 showcode=0 label="Poista kirjaus" variables="<br />
name:nro|description:Poistettavan kirjauksen Obs|type:text|<br />
category:Kirjauksen poisto|<br />
name:syy|description:Poiston syy|type:text<br />
"><br />
<br />
library(OpasnetUtils)<br />
<br />
nro <- gsub("\\s", "", unlist(strsplit(nro, ","))) # Pilkotaan pilkusta ja poistetaan alku- ja loppuvälilyönnit<br />
<br />
dat <- data.frame(Kirjausnro = nro, Syy = syy, Result = 1)<br />
<br />
opbase.upload(input = dat, ident = "Op_fi3948", name = "Kohdistamo", subset = "Kirjauspoistot", <br />
act_type = "append", language = "fin", who = wiki_username<br />
)<br />
<br />
cat("Nämä kirjaukset poistettu onnistuneesti.\n")<br />
<br />
oprint(dat)<br />
<br />
</rcode><br />
<br />
<br />
* Katso ohjeita sivulta [[Kohdistamo/Ohje]]<br />
* {{tuloslinkki}}<br />
<br />
== Aikakoneen laskenta ==<br />
<br />
Tässä on siistitty ja dokumentoitu versio [[Aikakone]]en makeTimeline-funktiosta, joka ottaa sisäänsä työajan alku- ja loppuaikoja ja tuottaa aikajanan. Funktion olennainen lisäarvo on siinä, että sille voi antaa päällekkäisiä ajanjaksoja, ja se korvaa vanhemmat kirjaukset (eli ylempänä taulukossa olevat) uudemmilla, jos niiissä on päällekkäisyyksiä. Toinen lisäarvo on se, että se automaattisesti käsittelee jokaisen henkilön ajankäyttöä erikseen, mutta muiden indeksien suhteen se vain periyttää tiedot aikajanalle. Muita indeksejä voi siis käyttää tarpeen mukaan.<br />
<br />
{{comment|# |Kehityskohteita: tarvitaanko koskaan tilannetta, jossa henkilösarakkeita onkin useita? Ei liene tärkeä, vaan tarvittaessa tämä toteutetaan luomalla tämmöinen sarake etukäteen.|--[[Käyttäjä:Jouni|Jouni Tuomisto]] ([[Keskustelu käyttäjästä:Jouni|keskustelu]]) 15. heinäkuuta 2014 kello 08.28 (UTC)}}<br />
<br />
<rcode embed=1><br />
library(OpasnetUtils)<br />
<br />
makeTimeline2 <- function (<br />
events, # data.frame with time cols (start and end) and possibly other indices. One index may separate individuals.<br />
cols = c("Alku", "Loppu"), # Names of the start and end time columns<br />
personcol = NULL # Name of the column defining individuals, if any<br />
) {<br />
<br />
if (!is.numeric(events[cols[1]])) { # If not numeric, assume a time format.<br />
for (m in 1:2) {<br />
events[[cols[m]]] <- as.POSIXct(events[[cols[m]]], tz = "Europe/Helsinki")<br />
}<br />
}<br />
if(is.null(personcol)) { # Make a temporary column for individuals<br />
personcol <- "Persontemp"<br />
events$Persontemp <- "Temp"<br />
}<br />
<br />
out <- data.frame()<br />
<br />
for(k in as.character((unique(events[[personcol]])))) { # Look at each individual's events separately.<br />
<br />
event <- events[events[[personcol]] == k , colnames(events) != personcol]<br />
<br />
# timeline is a data.frame with all starts and ends as one timeline. <br />
# Events down in the "event" data.frame replace previous events higher in "event", if they overlap.<br />
timeline <- data.frame(Time = min(event[[cols[1]]]), Eventrow = nrow(event) + 1) # First time point<br />
<br />
for (i in 1:nrow(event)) { # Go through each row and replace the time slot in timeline with the event.<br />
<br />
temp <- data.frame(<br />
Time = event[i , cols[1]],<br />
End = event[i , cols[2]],<br />
EventrowStart = i # Eventrows are used temporarily. In the end they are replaced with all indices in event.<br />
)<br />
<br />
# Add new time points to the timeline with the event row mentioned.<br />
timeline <- merge(timeline, temp[c("Time", "EventrowStart")], all = TRUE)<br />
colnames(temp) <- c("Remove", "Time", "EventrowEnd")<br />
timeline <- merge(timeline, temp[, c("Time", "EventrowEnd")], all = TRUE)<br />
<br />
# Go through intermediate time points and replace them with the new event.<br />
for (j in 2:nrow(timeline)) {<br />
if (is.na(timeline$Eventrow[j])) {<br />
timeline$Eventrow[j] <- timeline$Eventrow[j - 1]<br />
}<br />
if (is.na(timeline$EventrowStart[j]) & is.na(timeline$EventrowEnd[j])) {<br />
timeline$EventrowStart[j] <- timeline$EventrowStart[j - 1]<br />
}<br />
}<br />
# If the Eventrow is not a start, it must be an end.<br />
timeline$Eventrow <- ifelse(!is.na(timeline$EventrowStart), timeline$EventrowStart, timeline$Eventrow)<br />
timeline <- timeline[, c("Time", "Eventrow")]<br />
}<br />
<br />
# Add one row for the last timepoint.<br />
event <- rbind(event, rep(NA, ncol(event)))<br />
event[nrow(event) , cols[1]] <- max(timeline$Time)<br />
event$Eventrow <- row(event)[ , 1]<br />
<br />
# Bring back the other indices from event.<br />
timeline <- merge(timeline, event)<br />
timeline <- timeline[order(timeline$Time), ]<br />
timeline <- timeline[!colnames(timeline) %in% c("Eventrow", cols)]<br />
<br />
if(personcol != "Persontemp") timeline[[personcol]] <- k<br />
<br />
out <- rbind(out, timeline)<br />
<br />
}<br />
# Calculate the durations of each time slot in the timeline.<br />
out$Duration <- out$Time[c(2:nrow(out), NA)] - out$Time<br />
# Remove the last duration value from each individual's timeline.<br />
temp <- out[[personcol]]<br />
out$Duration <- ifelse(temp[c(2:length(temp), NA)] != temp | 1:length(temp) == length(temp), 0, out$Duration)<br />
<br />
return(out)<br />
}<br />
<br />
events <- data.frame(<br />
Projekti = c("LVM", "LVM", "Pneumokokki"),<br />
Alku = c("2014-07-14 12:00", "2014-07-15 13:00", "2014-07-14 12:30"), <br />
Loppu = c("2014-07-14 14:00", "2014-07-15 14:15", "2014-07-15 14:00"),<br />
Person = c("Heikki", "Ville", "Ville")<br />
)<br />
<br />
dat <- makeTimeline2(events, cols = c("Alku", "Loppu"), personcol = "Person")<br />
<br />
cat("Lähtödata\n")<br />
<br />
oprint(events)<br />
<br />
cat("Aikajana. Tapahtumien kestot ovat minuutteina.\n")<br />
<br />
dat$Time <- format(dat$Time) # Convert times from POSIXct to character.<br />
<br />
oprint(dat)<br />
<br />
</rcode><br />
== Korjauskoodi ==<br />
{{tuloslinkki}}<br />
<br />
<rcode label="Korjaa kirjaukset" variables="<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
temp <- opbase.data("op_fi3948.kirjaukset", "12911")<br />
<br />
derp <- 12993<br />
<br />
#durp <- list()<br />
for (i in derp) {<br />
durp <- opbase.data("op_fi3948.kirjaukset", as.character(i))<br />
temp <- rbind(temp, durp)<br />
}<br />
<br />
opbase.upload(<br />
temp, <br />
who = wiki_username,<br />
name = pagename,<br />
subset = "Kirjaukset"<br />
)<br />
</rcode><br />
<br />
<rcode label="Korjaa poistot" variables="<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
temp <- opbase.data("op_fi3948.kirjauspoistot", "12760")<br />
<br />
derp <- opbase.data("op_fi3948.kirjauspoistot", "12864")<br />
<br />
temp <- rbind(temp, derp)<br />
<br />
<br />
opbase.upload(<br />
temp, <br />
who = wiki_username,<br />
name = pagename,<br />
subset = "Kirjauspoistot"<br />
)<br />
</rcode></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Kohdistamo&diff=25145
Kohdistamo
2014-07-31T08:12:28Z
<p>Teemu R: /* Korjauskoodi */</p>
<hr />
<div>[[op_en:Timetracker]]<br />
<br />
<rcode name="answer" embed=1 showcode=0 label="Tallenna kirjaus" variables="<br />
name:työ|description:Minkä työn haluat kirjata?|type:selection|options:<br />
'STM raportointi ja laskutus';STM raportointi ja laskutus;<br />
'EU raportointi ja laskutus';EU raportointi ja laskutus;<br />
'TEKES raportointi ja laskutus';TEKES raportointi ja laskutus;<br />
'SA raportointi ja laskutus';SA raportointi ja laskutus;<br />
'ESR/EAKR raportointi ja laskutus';ESR/EAKR raportointi ja laskutus;<br />
'MUUT raportointi ja laskutus';MUUT raportointi ja laskutus;<br />
'Budjettirahoitus';Budjettirahoitus;<br />
'Tilintarkastus';Tilintarkastus;<br />
'Yleinen projektinhallinta ja neuvonta';Yleinen projektinhallinta ja neuvonta;<br />
'Kehittäminen';Kehittäminen;<br />
'Koulutus';Koulutus;<br />
'Sisäiset palaverit';Sisäiset palaverit;<br />
'Vuosibudjetointi';Vuosibudjetointi;<br />
'Tilinpäätös';Tilinpäätös;<br />
'Pneumokokkirokote';Pneumokokkirokote;<br />
'LVM-tulevaisuuskatsaus';LVM-tulevaisuuskatsaus;<br />
'H2O';H2O;<br />
'Oletus';Oletus;<br />
'Ulos';Ulos;<br />
'Muu';Muu<br />
|default:'Pneumokokkirokote'|<br />
category:Henkilötietoa ei tarvitse antaa, jos olet kirjautuneena Opasnettiin|<br />
name:jaksoko|description:Mitä haluat kirjata?|type:selection|options:<br />
FALSE;Annan nykyhetken aloitusajaksi;<br />
TRUE;Annan työn alku- ja loppuhetken käsin|<br />
default:FALSE|<br />
name:muutyö|description:Muu työ, mikä?|type:text|<br />
category:Listalta puuttuva työ|category_conditions:työ;'Muu'|<br />
name:aika|description:Milloin aloitit?|type:datetime|<br />
category:Jakson ajoitus|category_conditions:jaksoko;TRUE|<br />
name:loppu|description:Mihin asti tämä työ jatkui?|type:datetime<br />
"><br />
library(OpasnetUtils)<br />
<br />
if(jaksoko) {<br />
alku <- as.character(aika)<br />
loppu <- as.character(loppu)<br />
} else {<br />
alku <- as.character(Sys.time())<br />
loppu <- NA<br />
}<br />
<br />
out <- data.frame(<br />
Työ = ifelse(työ == 'Muu', muutyö, työ),<br />
Henkilö = wiki_username,<br />
Aika = alku,<br />
Loppu = loppu,<br />
Result = 0<br />
)<br />
<br />
opbase.upload(input = out, ident = "Op_fi3948", name = "Kohdistamo", subset = "Kirjaukset", <br />
obj_type = "variable", act_type = "append", language = "fin", who = wiki_username<br />
)<br />
<br />
cat("Kirjaus onnistui. Nämä tiedot tallennettiin\n")<br />
oprint(out[colnames(out) != "Result"])<br />
</rcode><br />
<br />
<br />
<br />
<rcode graphics=0 name="output" embed=1 showcode=0 label="Hae kirjauksia" variables="<br />
category:Hae kirjauksia|<br />
name:alku|description:Seurantajakson alku|type:date|default:2014-02-06|<br />
name:loppu|description:Seurantajakson loppu|type:date|<br />
name:tekijä|description:Työntekijän käyttäjätunnus|type:text|default:Kaikki|<br />
name:projekti|description:Projekti|type:selection|options:<br />
'Kaikki';Kaikki;<br />
'STM raportointi ja laskutus';STM raportointi ja laskutus;<br />
'EU raportointi ja laskutus';EU raportointi ja laskutus;<br />
'TEKES raportointi ja laskutus';TEKES raportointi ja laskutus;<br />
'SA raportointi ja laskutus';SA raportointi ja laskutus;<br />
'ESR/EAKR raportointi ja laskutus';ESR/EAKR raportointi ja laskutus;<br />
'MUUT raportointi ja laskutus';MUUT raportointi ja laskutus;<br />
'Budjettirahoitus';Budjettirahoitus; <br />
'Tilintarkastus';Tilintarkastus;<br />
'Yleinen projektinhallinta ja neuvonta';Yleinen projektinhallinta ja neuvonta;<br />
'Kehittäminen';Kehittäminen;<br />
'Koulutus';Koulutus;<br />
'Sisäiset palaverit';Sisäiset palaverit;<br />
'Vuosibudjetointi';Vuosibudjetointi;<br />
'Tilinpäätös';Tilinpäätös;<br />
'Pneumokokkirokote';Pneumokokkirokote;<br />
'LVM-tulevaisuuskatsaus';LVM-tulevaisuuskatsaus;<br />
'H2O';H2O;<br />
'Oletus';Oletus;<br />
'Muu';Muu<br />
|default:'Kaikki'<br />
"><br />
library(OpasnetUtils)<br />
library(ggplot2)<br />
objects.latest("Op_en6007", code_name = "answer") # We need timing<br />
<br />
kirjausajat <- function(alku, loppu, tekijä, projekti){<br />
dat <- opbase.data("Op_fi3948", subset = 'Kirjaukset')<br />
poistot <- opbase.data("Op_fi3948", subset = 'Kirjauspoistot')<br />
<br />
# pois <- as.numeric(as.character(poistot$Kirjausnro)) # Varoitus nousee tästä, kun yritetään muuttaa numericiksi ei-numeerinen.<br />
# Varoitus tulee arvosta k1 mutta tällä ei ole käytännön merkitystä. Varoitus ei ole virhe eikä toiminta keskeydy.<br />
#<br />
# pois <- subset(pois, pois > 0)<br />
# dat <- dat[-pois , colnames(dat) != "Result"] # Tässä kohti voisi käyttää %in%iä, mutta dat[dat %in% poistot$Kirjausnro , ] <br />
# # ei ainakaan toiminut. En siis tiedä, miten kutsua dat:in rivinumerosaraketta.<br />
#<br />
# dat on data.frame ja siksi et voi käyttää sitä vertailussa vektoriin. Sen sijaan 1:nrow(dat) tuottaa juoksevan rivinumeroinnin dat:lle. <br />
# Kirjausnro puolestaan pitää muuttaa numeroiksi, jotta sitä voi verrata rivinumeroihin. Suositeltavampi tyyli on tämä:<br />
<br />
pois <- as.numeric(levels(poistot$Kirjausnro)[poistot$Kirjausnro])<br />
dat <- dat[!1:nrow(dat) %in% pois , colnames(dat) != "Result"]<br />
<br />
<br />
<br />
#tuntikirjaus <- opbase.data("Op_fi3950.tuntikirjaus")<br />
#työtehtävät <- opbase.data("Op_fi3950.tyotehtavat")<br />
#työsuunnitelma <- opbase.data("Op_fi3950.tyosuunnitelma")<br />
#tuntikirjaus <- tuntikirjaus[colnames(tuntikirjaus) != "Obs"]<br />
#työtehtävät <- työtehtävät[colnames(työtehtävät) != "Obs"]<br />
#työsuunnitelma <- työsuunnitelma[colnames(työsuunnitelma) != "Obs"]<br />
#colnames(työsuunnitelma)[colnames(työsuunnitelma) == "Result"] <- "Loppu"<br />
#työsuunnitelma <- data.frame(työsuunnitelma, Henkilö = "Jouni")<br />
<br />
<br />
dat <- dat[dat$Henkilö %in% tekijä , ]<br />
<br />
<br />
molemmat <- dat[dat$Loppu != "NA" , ]<br />
työ <- dat[dat$Loppu == "NA" , ]<br />
ulos <- työ[työ$Työ == "Ulos" , ]<br />
työ <- työ[työ$Työ != "Ulos" , ]<br />
<br />
if (length(työ$Työ) > length(ulos$Työ)) {työ <- työ[-((nrow(ulos)+1):nrow(työ)), ] <br />
työ$Loppu <- ulos$Aika<br />
} else työ$Loppu <- ulos$Aika<br />
<br />
työ <- rbind(työ, molemmat)<br />
<br />
if (projekti != "Kaikki") työ <- työ[työ$Työ == projekti , ]<br />
<br />
työ$Aika <- as.POSIXct(työ$Aika, tz = 'Europe/Helsinki')<br />
työ$Loppu <- as.POSIXct(työ$Loppu, tz = 'Europe/Helsinki')<br />
<br />
työ <- työ[<br />
työ$Aika >= as.POSIXct(alku, tz = 'Europe/Helsinki') &<br />
työ$Aika <= as.POSIXct(loppu, tz = 'Europe/Helsinki') +3600*24 ,<br />
]<br />
<br />
työaika <- (sum(as.numeric(työ$Loppu))-sum(as.numeric(työ$Aika)))<br />
<br />
työaika <- (round(työaika/3600, digits = 2))<br />
<br />
cat("Valitulla välillä tehty työaika on yhteensä ", työaika, " tuntia. \n")<br />
<br />
<br />
työ$Aika <- as.character(työ$Aika)<br />
työ$Loppu <- as.character(työ$Loppu)<br />
oprint(työ)<br />
#oprint(työsuunnitelma)<br />
#oprint(työtehtävät)<br />
<br />
#out <- poistot<br />
#oprint(out)<br />
<br />
<br />
#tuntikirjaus <- timing(tuntikirjaus, timecol = c("Aika", "Loppu"), weeks = 6)<br />
#timeline <- makeTimeline(tuntikirjaus)<br />
#timeline <- timeline[order(timeline$Time) , ]<br />
#timeline$Time[nrow(timeline)] <- max(timeline$Time, na.rm = TRUE)<br />
<br />
#for(i in 1:(nrow(timeline)-1)) {timeline$end[i] <- timeline$Time[i+1]}<br />
#timeline[nrow(timeline), "end"] <- NA<br />
#timeline$end <- as.POSIXct(timeline$end, origin = "1970-01-01")<br />
<br />
#ggplot(timeline, aes(<br />
# xmin = Time, # as.Date(as.character(Start))<br />
# xmax = end, # as.Date(as.character(End)) + 2<br />
# ymin = as.numeric(Henkilö),<br />
# ymax = as.numeric(Henkilö) + 1,<br />
# fill = Työ)) + geom_rect()<br />
# <br />
}<br />
<br />
if (tekijä != "Kaikki") tekijä <- gsub("\\s", "", unlist(strsplit(tekijä, ","))) else tekijä <- c("Sharp", "Heta", "Pauli", "Jaakko", "Mori", "Julia")<br />
kirjausajat(alku, loppu, tekijä, projekti)<br />
<br />
<br />
#objects.store(output, kirjausajat)<br />
# Periaatteena on kaksi koodia: initiate luo funktiot, ovariablet ja muut yleiskäyttöiset oliot ja tallentaa ne serverille.<br />
# Käyttökoodi answer kutsuu noita olioita ja suorittaa niillä tapauskohtaisia toimenpiteitä. Koska tämä on tapauskohtainen<br />
# koodi, ei kannata tallentaa olioita (ethän kutsu niitä missään). Kunhan koodi on vakiintunut, kannattaa se jakaa<br />
# yleiseen ja projektikohtaiseen. Esimerkiksi tekijöiden tunnukset kannattaa ottaa funktioon parametriksi, jotta funktio<br />
# olisi yleispätevä, ja parametrin arvo kerrotaan projektikohtaisessa koodissa.<br />
</rcode><br />
<br />
<br />
<br />
<br />
<rcode name="answer" embed=1 showcode=0 label="Poista kirjaus" variables="<br />
name:nro|description:Poistettavan kirjauksen Obs|type:text|<br />
category:Kirjauksen poisto|<br />
name:syy|description:Poiston syy|type:text<br />
"><br />
<br />
library(OpasnetUtils)<br />
<br />
nro <- gsub("\\s", "", unlist(strsplit(nro, ","))) # Pilkotaan pilkusta ja poistetaan alku- ja loppuvälilyönnit<br />
<br />
dat <- data.frame(Kirjausnro = nro, Syy = syy, Result = 1)<br />
<br />
opbase.upload(input = dat, ident = "Op_fi3948", name = "Kohdistamo", subset = "Kirjauspoistot", <br />
act_type = "append", language = "fin", who = wiki_username<br />
)<br />
<br />
cat("Nämä kirjaukset poistettu onnistuneesti.\n")<br />
<br />
oprint(dat)<br />
<br />
</rcode><br />
<br />
<br />
* Katso ohjeita sivulta [[Kohdistamo/Ohje]]<br />
* {{tuloslinkki}}<br />
<br />
== Aikakoneen laskenta ==<br />
<br />
Tässä on siistitty ja dokumentoitu versio [[Aikakone]]en makeTimeline-funktiosta, joka ottaa sisäänsä työajan alku- ja loppuaikoja ja tuottaa aikajanan. Funktion olennainen lisäarvo on siinä, että sille voi antaa päällekkäisiä ajanjaksoja, ja se korvaa vanhemmat kirjaukset (eli ylempänä taulukossa olevat) uudemmilla, jos niiissä on päällekkäisyyksiä. Toinen lisäarvo on se, että se automaattisesti käsittelee jokaisen henkilön ajankäyttöä erikseen, mutta muiden indeksien suhteen se vain periyttää tiedot aikajanalle. Muita indeksejä voi siis käyttää tarpeen mukaan.<br />
<br />
{{comment|# |Kehityskohteita: tarvitaanko koskaan tilannetta, jossa henkilösarakkeita onkin useita? Ei liene tärkeä, vaan tarvittaessa tämä toteutetaan luomalla tämmöinen sarake etukäteen.|--[[Käyttäjä:Jouni|Jouni Tuomisto]] ([[Keskustelu käyttäjästä:Jouni|keskustelu]]) 15. heinäkuuta 2014 kello 08.28 (UTC)}}<br />
<br />
<rcode embed=1><br />
library(OpasnetUtils)<br />
<br />
makeTimeline2 <- function (<br />
events, # data.frame with time cols (start and end) and possibly other indices. One index may separate individuals.<br />
cols = c("Alku", "Loppu"), # Names of the start and end time columns<br />
personcol = NULL # Name of the column defining individuals, if any<br />
) {<br />
<br />
if (!is.numeric(events[cols[1]])) { # If not numeric, assume a time format.<br />
for (m in 1:2) {<br />
events[[cols[m]]] <- as.POSIXct(events[[cols[m]]], tz = "Europe/Helsinki")<br />
}<br />
}<br />
if(is.null(personcol)) { # Make a temporary column for individuals<br />
personcol <- "Persontemp"<br />
events$Persontemp <- "Temp"<br />
}<br />
<br />
out <- data.frame()<br />
<br />
for(k in as.character((unique(events[[personcol]])))) { # Look at each individual's events separately.<br />
<br />
event <- events[events[[personcol]] == k , colnames(events) != personcol]<br />
<br />
# timeline is a data.frame with all starts and ends as one timeline. <br />
# Events down in the "event" data.frame replace previous events higher in "event", if they overlap.<br />
timeline <- data.frame(Time = min(event[[cols[1]]]), Eventrow = nrow(event) + 1) # First time point<br />
<br />
for (i in 1:nrow(event)) { # Go through each row and replace the time slot in timeline with the event.<br />
<br />
temp <- data.frame(<br />
Time = event[i , cols[1]],<br />
End = event[i , cols[2]],<br />
EventrowStart = i # Eventrows are used temporarily. In the end they are replaced with all indices in event.<br />
)<br />
<br />
# Add new time points to the timeline with the event row mentioned.<br />
timeline <- merge(timeline, temp[c("Time", "EventrowStart")], all = TRUE)<br />
colnames(temp) <- c("Remove", "Time", "EventrowEnd")<br />
timeline <- merge(timeline, temp[, c("Time", "EventrowEnd")], all = TRUE)<br />
<br />
# Go through intermediate time points and replace them with the new event.<br />
for (j in 2:nrow(timeline)) {<br />
if (is.na(timeline$Eventrow[j])) {<br />
timeline$Eventrow[j] <- timeline$Eventrow[j - 1]<br />
}<br />
if (is.na(timeline$EventrowStart[j]) & is.na(timeline$EventrowEnd[j])) {<br />
timeline$EventrowStart[j] <- timeline$EventrowStart[j - 1]<br />
}<br />
}<br />
# If the Eventrow is not a start, it must be an end.<br />
timeline$Eventrow <- ifelse(!is.na(timeline$EventrowStart), timeline$EventrowStart, timeline$Eventrow)<br />
timeline <- timeline[, c("Time", "Eventrow")]<br />
}<br />
<br />
# Add one row for the last timepoint.<br />
event <- rbind(event, rep(NA, ncol(event)))<br />
event[nrow(event) , cols[1]] <- max(timeline$Time)<br />
event$Eventrow <- row(event)[ , 1]<br />
<br />
# Bring back the other indices from event.<br />
timeline <- merge(timeline, event)<br />
timeline <- timeline[order(timeline$Time), ]<br />
timeline <- timeline[!colnames(timeline) %in% c("Eventrow", cols)]<br />
<br />
if(personcol != "Persontemp") timeline[[personcol]] <- k<br />
<br />
out <- rbind(out, timeline)<br />
<br />
}<br />
# Calculate the durations of each time slot in the timeline.<br />
out$Duration <- out$Time[c(2:nrow(out), NA)] - out$Time<br />
# Remove the last duration value from each individual's timeline.<br />
temp <- out[[personcol]]<br />
out$Duration <- ifelse(temp[c(2:length(temp), NA)] != temp | 1:length(temp) == length(temp), 0, out$Duration)<br />
<br />
return(out)<br />
}<br />
<br />
events <- data.frame(<br />
Projekti = c("LVM", "LVM", "Pneumokokki"),<br />
Alku = c("2014-07-14 12:00", "2014-07-15 13:00", "2014-07-14 12:30"), <br />
Loppu = c("2014-07-14 14:00", "2014-07-15 14:15", "2014-07-15 14:00"),<br />
Person = c("Heikki", "Ville", "Ville")<br />
)<br />
<br />
dat <- makeTimeline2(events, cols = c("Alku", "Loppu"), personcol = "Person")<br />
<br />
cat("Lähtödata\n")<br />
<br />
oprint(events)<br />
<br />
cat("Aikajana. Tapahtumien kestot ovat minuutteina.\n")<br />
<br />
dat$Time <- format(dat$Time) # Convert times from POSIXct to character.<br />
<br />
oprint(dat)<br />
<br />
</rcode><br />
== Korjauskoodi ==<br />
{{tuloslinkki}}<br />
<br />
<rcode label="Korjaa kirjaukset" variables="<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
temp <- opbase.data("op_fi3948.kirjaukset", "12911")<br />
<br />
derp <- NULL#12993<br />
<br />
#durp <- list()<br />
for (i in derp) {<br />
durp <- opbase.data("op_fi3948.kirjaukset", as.character(i))<br />
temp <- rbind(temp, durp)<br />
}<br />
<br />
opbase.upload(<br />
temp, <br />
who = wiki_username,<br />
name = pagename,<br />
subset = "Kirjaukset"<br />
)<br />
</rcode><br />
<br />
<rcode label="Korjaa poistot" variables="<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
temp <- opbase.data("op_fi3948.kirjauspoistot", "12760")<br />
<br />
derp <- opbase.data("op_fi3948.kirjauspoistot", "12864")<br />
<br />
temp <- rbind(temp, derp)<br />
<br />
<br />
opbase.upload(<br />
temp, <br />
who = wiki_username,<br />
name = pagename,<br />
subset = "Kirjauspoistot"<br />
)<br />
</rcode></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Kohdistamo&diff=25143
Kohdistamo
2014-07-31T08:09:21Z
<p>Teemu R: /* Korjauskoodi */</p>
<hr />
<div>[[op_en:Timetracker]]<br />
<br />
<rcode name="answer" embed=1 showcode=0 label="Tallenna kirjaus" variables="<br />
name:työ|description:Minkä työn haluat kirjata?|type:selection|options:<br />
'STM raportointi ja laskutus';STM raportointi ja laskutus;<br />
'EU raportointi ja laskutus';EU raportointi ja laskutus;<br />
'TEKES raportointi ja laskutus';TEKES raportointi ja laskutus;<br />
'SA raportointi ja laskutus';SA raportointi ja laskutus;<br />
'ESR/EAKR raportointi ja laskutus';ESR/EAKR raportointi ja laskutus;<br />
'MUUT raportointi ja laskutus';MUUT raportointi ja laskutus;<br />
'Budjettirahoitus';Budjettirahoitus;<br />
'Tilintarkastus';Tilintarkastus;<br />
'Yleinen projektinhallinta ja neuvonta';Yleinen projektinhallinta ja neuvonta;<br />
'Kehittäminen';Kehittäminen;<br />
'Koulutus';Koulutus;<br />
'Sisäiset palaverit';Sisäiset palaverit;<br />
'Vuosibudjetointi';Vuosibudjetointi;<br />
'Tilinpäätös';Tilinpäätös;<br />
'Pneumokokkirokote';Pneumokokkirokote;<br />
'LVM-tulevaisuuskatsaus';LVM-tulevaisuuskatsaus;<br />
'H2O';H2O;<br />
'Oletus';Oletus;<br />
'Ulos';Ulos;<br />
'Muu';Muu<br />
|default:'Pneumokokkirokote'|<br />
category:Henkilötietoa ei tarvitse antaa, jos olet kirjautuneena Opasnettiin|<br />
name:jaksoko|description:Mitä haluat kirjata?|type:selection|options:<br />
FALSE;Annan nykyhetken aloitusajaksi;<br />
TRUE;Annan työn alku- ja loppuhetken käsin|<br />
default:FALSE|<br />
name:muutyö|description:Muu työ, mikä?|type:text|<br />
category:Listalta puuttuva työ|category_conditions:työ;'Muu'|<br />
name:aika|description:Milloin aloitit?|type:datetime|<br />
category:Jakson ajoitus|category_conditions:jaksoko;TRUE|<br />
name:loppu|description:Mihin asti tämä työ jatkui?|type:datetime<br />
"><br />
library(OpasnetUtils)<br />
<br />
if(jaksoko) {<br />
alku <- as.character(aika)<br />
loppu <- as.character(loppu)<br />
} else {<br />
alku <- as.character(Sys.time())<br />
loppu <- NA<br />
}<br />
<br />
out <- data.frame(<br />
Työ = ifelse(työ == 'Muu', muutyö, työ),<br />
Henkilö = wiki_username,<br />
Aika = alku,<br />
Loppu = loppu,<br />
Result = 0<br />
)<br />
<br />
opbase.upload(input = out, ident = "Op_fi3948", name = "Kohdistamo", subset = "Kirjaukset", <br />
obj_type = "variable", act_type = "append", language = "fin", who = wiki_username<br />
)<br />
<br />
cat("Kirjaus onnistui. Nämä tiedot tallennettiin\n")<br />
oprint(out[colnames(out) != "Result"])<br />
</rcode><br />
<br />
<br />
<br />
<rcode graphics=0 name="output" embed=1 showcode=0 label="Hae kirjauksia" variables="<br />
category:Hae kirjauksia|<br />
name:alku|description:Seurantajakson alku|type:date|default:2014-02-06|<br />
name:loppu|description:Seurantajakson loppu|type:date|<br />
name:tekijä|description:Työntekijän käyttäjätunnus|type:text|default:Kaikki|<br />
name:projekti|description:Projekti|type:selection|options:<br />
'Kaikki';Kaikki;<br />
'STM raportointi ja laskutus';STM raportointi ja laskutus;<br />
'EU raportointi ja laskutus';EU raportointi ja laskutus;<br />
'TEKES raportointi ja laskutus';TEKES raportointi ja laskutus;<br />
'SA raportointi ja laskutus';SA raportointi ja laskutus;<br />
'ESR/EAKR raportointi ja laskutus';ESR/EAKR raportointi ja laskutus;<br />
'MUUT raportointi ja laskutus';MUUT raportointi ja laskutus;<br />
'Budjettirahoitus';Budjettirahoitus; <br />
'Tilintarkastus';Tilintarkastus;<br />
'Yleinen projektinhallinta ja neuvonta';Yleinen projektinhallinta ja neuvonta;<br />
'Kehittäminen';Kehittäminen;<br />
'Koulutus';Koulutus;<br />
'Sisäiset palaverit';Sisäiset palaverit;<br />
'Vuosibudjetointi';Vuosibudjetointi;<br />
'Tilinpäätös';Tilinpäätös;<br />
'Pneumokokkirokote';Pneumokokkirokote;<br />
'LVM-tulevaisuuskatsaus';LVM-tulevaisuuskatsaus;<br />
'H2O';H2O;<br />
'Oletus';Oletus;<br />
'Muu';Muu<br />
|default:'Kaikki'<br />
"><br />
library(OpasnetUtils)<br />
library(ggplot2)<br />
objects.latest("Op_en6007", code_name = "answer") # We need timing<br />
<br />
kirjausajat <- function(alku, loppu, tekijä, projekti){<br />
dat <- opbase.data("Op_fi3948", subset = 'Kirjaukset')<br />
poistot <- opbase.data("Op_fi3948", subset = 'Kirjauspoistot')<br />
<br />
# pois <- as.numeric(as.character(poistot$Kirjausnro)) # Varoitus nousee tästä, kun yritetään muuttaa numericiksi ei-numeerinen.<br />
# Varoitus tulee arvosta k1 mutta tällä ei ole käytännön merkitystä. Varoitus ei ole virhe eikä toiminta keskeydy.<br />
#<br />
# pois <- subset(pois, pois > 0)<br />
# dat <- dat[-pois , colnames(dat) != "Result"] # Tässä kohti voisi käyttää %in%iä, mutta dat[dat %in% poistot$Kirjausnro , ] <br />
# # ei ainakaan toiminut. En siis tiedä, miten kutsua dat:in rivinumerosaraketta.<br />
#<br />
# dat on data.frame ja siksi et voi käyttää sitä vertailussa vektoriin. Sen sijaan 1:nrow(dat) tuottaa juoksevan rivinumeroinnin dat:lle. <br />
# Kirjausnro puolestaan pitää muuttaa numeroiksi, jotta sitä voi verrata rivinumeroihin. Suositeltavampi tyyli on tämä:<br />
<br />
pois <- as.numeric(levels(poistot$Kirjausnro)[poistot$Kirjausnro])<br />
dat <- dat[!1:nrow(dat) %in% pois , colnames(dat) != "Result"]<br />
<br />
<br />
<br />
#tuntikirjaus <- opbase.data("Op_fi3950.tuntikirjaus")<br />
#työtehtävät <- opbase.data("Op_fi3950.tyotehtavat")<br />
#työsuunnitelma <- opbase.data("Op_fi3950.tyosuunnitelma")<br />
#tuntikirjaus <- tuntikirjaus[colnames(tuntikirjaus) != "Obs"]<br />
#työtehtävät <- työtehtävät[colnames(työtehtävät) != "Obs"]<br />
#työsuunnitelma <- työsuunnitelma[colnames(työsuunnitelma) != "Obs"]<br />
#colnames(työsuunnitelma)[colnames(työsuunnitelma) == "Result"] <- "Loppu"<br />
#työsuunnitelma <- data.frame(työsuunnitelma, Henkilö = "Jouni")<br />
<br />
<br />
dat <- dat[dat$Henkilö %in% tekijä , ]<br />
<br />
<br />
molemmat <- dat[dat$Loppu != "NA" , ]<br />
työ <- dat[dat$Loppu == "NA" , ]<br />
ulos <- työ[työ$Työ == "Ulos" , ]<br />
työ <- työ[työ$Työ != "Ulos" , ]<br />
<br />
if (length(työ$Työ) > length(ulos$Työ)) {työ <- työ[-((nrow(ulos)+1):nrow(työ)), ] <br />
työ$Loppu <- ulos$Aika<br />
} else työ$Loppu <- ulos$Aika<br />
<br />
työ <- rbind(työ, molemmat)<br />
<br />
if (projekti != "Kaikki") työ <- työ[työ$Työ == projekti , ]<br />
<br />
työ$Aika <- as.POSIXct(työ$Aika, tz = 'Europe/Helsinki')<br />
työ$Loppu <- as.POSIXct(työ$Loppu, tz = 'Europe/Helsinki')<br />
<br />
työ <- työ[<br />
työ$Aika >= as.POSIXct(alku, tz = 'Europe/Helsinki') &<br />
työ$Aika <= as.POSIXct(loppu, tz = 'Europe/Helsinki') +3600*24 ,<br />
]<br />
<br />
työaika <- (sum(as.numeric(työ$Loppu))-sum(as.numeric(työ$Aika)))<br />
<br />
työaika <- (round(työaika/3600, digits = 2))<br />
<br />
cat("Valitulla välillä tehty työaika on yhteensä ", työaika, " tuntia. \n")<br />
<br />
<br />
työ$Aika <- as.character(työ$Aika)<br />
työ$Loppu <- as.character(työ$Loppu)<br />
oprint(työ)<br />
#oprint(työsuunnitelma)<br />
#oprint(työtehtävät)<br />
<br />
#out <- poistot<br />
#oprint(out)<br />
<br />
<br />
#tuntikirjaus <- timing(tuntikirjaus, timecol = c("Aika", "Loppu"), weeks = 6)<br />
#timeline <- makeTimeline(tuntikirjaus)<br />
#timeline <- timeline[order(timeline$Time) , ]<br />
#timeline$Time[nrow(timeline)] <- max(timeline$Time, na.rm = TRUE)<br />
<br />
#for(i in 1:(nrow(timeline)-1)) {timeline$end[i] <- timeline$Time[i+1]}<br />
#timeline[nrow(timeline), "end"] <- NA<br />
#timeline$end <- as.POSIXct(timeline$end, origin = "1970-01-01")<br />
<br />
#ggplot(timeline, aes(<br />
# xmin = Time, # as.Date(as.character(Start))<br />
# xmax = end, # as.Date(as.character(End)) + 2<br />
# ymin = as.numeric(Henkilö),<br />
# ymax = as.numeric(Henkilö) + 1,<br />
# fill = Työ)) + geom_rect()<br />
# <br />
}<br />
<br />
if (tekijä != "Kaikki") tekijä <- gsub("\\s", "", unlist(strsplit(tekijä, ","))) else tekijä <- c("Sharp", "Heta", "Pauli", "Jaakko", "Mori", "Julia")<br />
kirjausajat(alku, loppu, tekijä, projekti)<br />
<br />
<br />
#objects.store(output, kirjausajat)<br />
# Periaatteena on kaksi koodia: initiate luo funktiot, ovariablet ja muut yleiskäyttöiset oliot ja tallentaa ne serverille.<br />
# Käyttökoodi answer kutsuu noita olioita ja suorittaa niillä tapauskohtaisia toimenpiteitä. Koska tämä on tapauskohtainen<br />
# koodi, ei kannata tallentaa olioita (ethän kutsu niitä missään). Kunhan koodi on vakiintunut, kannattaa se jakaa<br />
# yleiseen ja projektikohtaiseen. Esimerkiksi tekijöiden tunnukset kannattaa ottaa funktioon parametriksi, jotta funktio<br />
# olisi yleispätevä, ja parametrin arvo kerrotaan projektikohtaisessa koodissa.<br />
</rcode><br />
<br />
<br />
<br />
<br />
<rcode name="answer" embed=1 showcode=0 label="Poista kirjaus" variables="<br />
name:nro|description:Poistettavan kirjauksen Obs|type:text|<br />
category:Kirjauksen poisto|<br />
name:syy|description:Poiston syy|type:text<br />
"><br />
<br />
library(OpasnetUtils)<br />
<br />
nro <- gsub("\\s", "", unlist(strsplit(nro, ","))) # Pilkotaan pilkusta ja poistetaan alku- ja loppuvälilyönnit<br />
<br />
dat <- data.frame(Kirjausnro = nro, Syy = syy, Result = 1)<br />
<br />
opbase.upload(input = dat, ident = "Op_fi3948", name = "Kohdistamo", subset = "Kirjauspoistot", <br />
act_type = "append", language = "fin", who = wiki_username<br />
)<br />
<br />
cat("Nämä kirjaukset poistettu onnistuneesti.\n")<br />
<br />
oprint(dat)<br />
<br />
</rcode><br />
<br />
<br />
* Katso ohjeita sivulta [[Kohdistamo/Ohje]]<br />
* {{tuloslinkki}}<br />
<br />
== Aikakoneen laskenta ==<br />
<br />
Tässä on siistitty ja dokumentoitu versio [[Aikakone]]en makeTimeline-funktiosta, joka ottaa sisäänsä työajan alku- ja loppuaikoja ja tuottaa aikajanan. Funktion olennainen lisäarvo on siinä, että sille voi antaa päällekkäisiä ajanjaksoja, ja se korvaa vanhemmat kirjaukset (eli ylempänä taulukossa olevat) uudemmilla, jos niiissä on päällekkäisyyksiä. Toinen lisäarvo on se, että se automaattisesti käsittelee jokaisen henkilön ajankäyttöä erikseen, mutta muiden indeksien suhteen se vain periyttää tiedot aikajanalle. Muita indeksejä voi siis käyttää tarpeen mukaan.<br />
<br />
{{comment|# |Kehityskohteita: tarvitaanko koskaan tilannetta, jossa henkilösarakkeita onkin useita? Ei liene tärkeä, vaan tarvittaessa tämä toteutetaan luomalla tämmöinen sarake etukäteen.|--[[Käyttäjä:Jouni|Jouni Tuomisto]] ([[Keskustelu käyttäjästä:Jouni|keskustelu]]) 15. heinäkuuta 2014 kello 08.28 (UTC)}}<br />
<br />
<rcode embed=1><br />
library(OpasnetUtils)<br />
<br />
makeTimeline2 <- function (<br />
events, # data.frame with time cols (start and end) and possibly other indices. One index may separate individuals.<br />
cols = c("Alku", "Loppu"), # Names of the start and end time columns<br />
personcol = NULL # Name of the column defining individuals, if any<br />
) {<br />
<br />
if (!is.numeric(events[cols[1]])) { # If not numeric, assume a time format.<br />
for (m in 1:2) {<br />
events[[cols[m]]] <- as.POSIXct(events[[cols[m]]], tz = "Europe/Helsinki")<br />
}<br />
}<br />
if(is.null(personcol)) { # Make a temporary column for individuals<br />
personcol <- "Persontemp"<br />
events$Persontemp <- "Temp"<br />
}<br />
<br />
out <- data.frame()<br />
<br />
for(k in as.character((unique(events[[personcol]])))) { # Look at each individual's events separately.<br />
<br />
event <- events[events[[personcol]] == k , colnames(events) != personcol]<br />
<br />
# timeline is a data.frame with all starts and ends as one timeline. <br />
# Events down in the "event" data.frame replace previous events higher in "event", if they overlap.<br />
timeline <- data.frame(Time = min(event[[cols[1]]]), Eventrow = nrow(event) + 1) # First time point<br />
<br />
for (i in 1:nrow(event)) { # Go through each row and replace the time slot in timeline with the event.<br />
<br />
temp <- data.frame(<br />
Time = event[i , cols[1]],<br />
End = event[i , cols[2]],<br />
EventrowStart = i # Eventrows are used temporarily. In the end they are replaced with all indices in event.<br />
)<br />
<br />
# Add new time points to the timeline with the event row mentioned.<br />
timeline <- merge(timeline, temp[c("Time", "EventrowStart")], all = TRUE)<br />
colnames(temp) <- c("Remove", "Time", "EventrowEnd")<br />
timeline <- merge(timeline, temp[, c("Time", "EventrowEnd")], all = TRUE)<br />
<br />
# Go through intermediate time points and replace them with the new event.<br />
for (j in 2:nrow(timeline)) {<br />
if (is.na(timeline$Eventrow[j])) {<br />
timeline$Eventrow[j] <- timeline$Eventrow[j - 1]<br />
}<br />
if (is.na(timeline$EventrowStart[j]) & is.na(timeline$EventrowEnd[j])) {<br />
timeline$EventrowStart[j] <- timeline$EventrowStart[j - 1]<br />
}<br />
}<br />
# If the Eventrow is not a start, it must be an end.<br />
timeline$Eventrow <- ifelse(!is.na(timeline$EventrowStart), timeline$EventrowStart, timeline$Eventrow)<br />
timeline <- timeline[, c("Time", "Eventrow")]<br />
}<br />
<br />
# Add one row for the last timepoint.<br />
event <- rbind(event, rep(NA, ncol(event)))<br />
event[nrow(event) , cols[1]] <- max(timeline$Time)<br />
event$Eventrow <- row(event)[ , 1]<br />
<br />
# Bring back the other indices from event.<br />
timeline <- merge(timeline, event)<br />
timeline <- timeline[order(timeline$Time), ]<br />
timeline <- timeline[!colnames(timeline) %in% c("Eventrow", cols)]<br />
<br />
if(personcol != "Persontemp") timeline[[personcol]] <- k<br />
<br />
out <- rbind(out, timeline)<br />
<br />
}<br />
# Calculate the durations of each time slot in the timeline.<br />
out$Duration <- out$Time[c(2:nrow(out), NA)] - out$Time<br />
# Remove the last duration value from each individual's timeline.<br />
temp <- out[[personcol]]<br />
out$Duration <- ifelse(temp[c(2:length(temp), NA)] != temp | 1:length(temp) == length(temp), 0, out$Duration)<br />
<br />
return(out)<br />
}<br />
<br />
events <- data.frame(<br />
Projekti = c("LVM", "LVM", "Pneumokokki"),<br />
Alku = c("2014-07-14 12:00", "2014-07-15 13:00", "2014-07-14 12:30"), <br />
Loppu = c("2014-07-14 14:00", "2014-07-15 14:15", "2014-07-15 14:00"),<br />
Person = c("Heikki", "Ville", "Ville")<br />
)<br />
<br />
dat <- makeTimeline2(events, cols = c("Alku", "Loppu"), personcol = "Person")<br />
<br />
cat("Lähtödata\n")<br />
<br />
oprint(events)<br />
<br />
cat("Aikajana. Tapahtumien kestot ovat minuutteina.\n")<br />
<br />
dat$Time <- format(dat$Time) # Convert times from POSIXct to character.<br />
<br />
oprint(dat)<br />
<br />
</rcode><br />
== Korjauskoodi ==<br />
{{tuloslinkki}}<br />
<br />
<rcode label="Korjaa kirjaukset" variables="<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
temp <- opbase.data("op_fi3948.kirjaukset", "12911")<br />
<br />
derp <- 12993<br />
<br />
#durp <- list()<br />
for (i in derp) {<br />
durp <- opbase.data("op_fi3948.kirjaukset", as.character(i))<br />
temp <- rbind(temp, durp)<br />
}<br />
<br />
opbase.upload(<br />
temp, <br />
who = wiki_username,<br />
name = pagename,<br />
subset = "Kirjaukset"<br />
)<br />
</rcode><br />
<br />
<rcode label="Korjaa poistot" variables="<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
temp <- opbase.data("op_fi3948.kirjauspoistot", "12760")<br />
<br />
derp <- opbase.data("op_fi3948.kirjauspoistot", "12864")<br />
<br />
temp <- rbind(temp, derp)<br />
<br />
<br />
opbase.upload(<br />
temp, <br />
who = wiki_username,<br />
name = pagename,<br />
subset = "Kirjauspoistot"<br />
)<br />
</rcode></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=K%C3%A4ytt%C3%A4j%C3%A4:Teemu_R/Ty%C3%B6aika&diff=25139
Käyttäjä:Teemu R/Työaika
2014-07-30T10:35:49Z
<p>Teemu R: </p>
<hr />
<div><t2b index="Aikalaji,Projekti,Alaprojekti,Havainto" Locations="alku,loppu,toistoväli,asti,kuvaus" unit="d"><br />
Työaika|Urgenche||2014-06-10 13:00|2014-06-10 16:00|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-10 20:00|2014-06-10 23:00|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-11 10:00|2014-06-11 14:20|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-11 16:20|2014-06-11 22:20|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-12 10:00|2014-06-12 15:00|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-13 13:00|2014-06-13 17:00|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-15 21:00|2014-06-15 23:00|||Energiatase-mallin korjailu<br />
Työaika|LVM||2014-06-16 10:00|2014-06-16 14:00|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-16 14:30|2014-06-16 17:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-17 12:00|2014-06-17 18:00|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-17 22:30|2014-06-17 23:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-18 12:30|2014-06-18 17:00|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-19 11:00|2014-06-19 16:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-23 11:00|2014-06-23 16:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-23 17:00|2014-06-23 19:00|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-24 10:45|2014-06-24 13:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-24 15:30|2014-06-24 20:20|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-24 21:10|2014-06-24 22:45|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-06-25 10:30|2014-06-25 15:00|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-25 15:30|2014-06-25 18:30|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-26 10:30|2014-06-26 14:30|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-26 16:00|2014-06-26 19:50|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-27 08:30|2014-06-27 12:00|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-30 12:00|2014-06-30 16:30|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-06-30 17:30|2014-06-30 20:50|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-01 11:00|2014-07-01 14:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-02 12:20|2014-07-02 16:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-03 11:40|2014-07-03 16:30|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-03 19:30|2014-07-03 23:15|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-04 10:40|2014-07-04 12:25|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-05 08:10|2014-07-05 10:50|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-05 12:20|2014-07-05 15:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-07 11:10|2014-07-07 14:20|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-07 16:05|2014-07-07 17:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-09 18:45|2014-07-09 20:25|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-10 14:40|2014-07-10 18:40|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-10 20:10|2014-07-10 22:05|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-11 13:40|2014-07-11 15:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-11 15:50|2014-07-11 16:20|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-14 10:05|2014-07-14 14:05|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-14 16:00|2014-07-14 19:25|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-15 12:05|2014-07-15 14:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-15 15:10|2014-07-15 15:55|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-16 12:15|2014-07-16 15:20|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-17 11:30|2014-07-17 14:35|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-17 15:15|2014-07-17 17:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-18 11:10|2014-07-18 15:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-18 15:50|2014-07-18 16:45|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-21 11:35|2014-07-21 13:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-22 10:50|2014-07-22 16:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-22 16:30|2014-07-22 21:35|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-23 11:30|2014-07-23 12:30|||Tägikoneen kehittäminen<br />
Työaika|Urgenche||2014-07-24 12:00|2014-07-24 16:15|||Building model<br />
Työaika|Urgenche||2014-07-24 17:00|2014-07-24 21:00|||Building model<br />
Työaika|Urgenche||2014-07-25 11:05|2014-07-25 14:50|||Building model<br />
Työaika|Urgenche||2014-07-25 15:20|2014-07-25 15:55|||Building model<br />
Työaika|ROKO||2014-07-28 10:55|2014-07-28 15:35|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-28 16:05|2014-07-28 17:30|||Tägikoneen kehittäminen<br />
Työaika|Urgenche||2014-07-29 11:00|2014-07-29 15:40|||Building model<br />
</t2b><br />
<br />
<rcode embed=1 label="Laske tunnit"><br />
library(OpasnetUtils)<br />
<br />
dat <- opbase.data("Op_fi3349")<br />
<br />
alku <- dat[dat$Havainto == "alku", "Result"]<br />
loppu <- dat[dat$Havainto == "loppu", "Result"]<br />
<br />
tunnit <- as.POSIXct(loppu) - as.POSIXct(alku)<br />
oprint(tunnit)<br />
oprint(tapply(tunnit, factor(strftime(alku, format = "%W")), sum))<br />
oprint(sum(tunnit))<br />
</rcode><br />
<br />
<br />
<rcode embed=1 label="Laske edelliset tunnit"><br />
library(OpasnetUtils)<br />
<br />
dat <- opbase.data("Op_fi3349", 12721)<br />
<br />
alku <- dat[dat$Havainto == "alku", "Result"]<br />
loppu <- dat[dat$Havainto == "loppu", "Result"]<br />
<br />
oprint(sum(as.POSIXct(loppu) - as.POSIXct(alku)))<br />
</rcode></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=K%C3%A4ytt%C3%A4j%C3%A4:Teemu_R/Ty%C3%B6aika&diff=25138
Käyttäjä:Teemu R/Työaika
2014-07-30T10:29:15Z
<p>Teemu R: </p>
<hr />
<div><t2b index="Aikalaji,Projekti,Alaprojekti,Havainto" Locations="alku,loppu,toistoväli,asti,kuvaus" unit="d"><br />
Työaika|Urgenche||2014-06-10 13:00|2014-06-10 16:00|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-10 20:00|2014-06-10 23:00|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-11 10:00|2014-06-11 14:20|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-11 16:20|2014-06-11 22:20|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-12 10:00|2014-06-12 15:00|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-13 13:00|2014-06-13 17:00|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-15 21:00|2014-06-15 23:00|||Energiatase-mallin korjailu<br />
Työaika|LVM||2014-06-16 10:00|2014-06-16 14:00|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-16 14:30|2014-06-16 17:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-17 12:00|2014-06-17 18:00|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-17 22:30|2014-06-17 23:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-18 12:30|2014-06-18 17:00|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-19 11:00|2014-06-19 16:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-23 11:00|2014-06-23 16:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-23 17:00|2014-06-23 19:00|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-24 10:45|2014-06-24 13:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-24 15:30|2014-06-24 20:20|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-24 21:10|2014-06-24 22:45|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-06-25 10:30|2014-06-25 15:00|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-25 15:30|2014-06-25 18:30|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-26 10:30|2014-06-26 14:30|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-26 16:00|2014-06-26 19:50|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-27 08:30|2014-06-27 12:00|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-30 12:00|2014-06-30 16:30|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-06-30 17:30|2014-06-30 20:50|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-01 11:00|2014-07-01 14:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-02 12:20|2014-07-02 16:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-03 11:40|2014-07-03 16:30|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-03 19:30|2014-07-03 23:15|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-04 10:40|2014-07-04 12:25|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-05 08:10|2014-07-05 10:50|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-05 12:20|2014-07-05 15:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-07 11:10|2014-07-07 14:20|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-07 16:05|2014-07-07 17:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-09 18:45|2014-07-09 20:25|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-10 14:40|2014-07-10 18:40|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-10 20:10|2014-07-10 22:05|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-11 13:40|2014-07-11 15:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-11 15:50|2014-07-11 16:20|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-14 10:05|2014-07-14 14:05|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-14 16:00|2014-07-14 19:25|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-15 12:05|2014-07-15 14:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-15 15:10|2014-07-15 15:55|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-16 12:15|2014-07-16 15:20|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-17 11:30|2014-07-17 14:35|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-17 15:15|2014-07-17 17:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-18 11:10|2014-07-18 15:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-18 15:50|2014-07-18 16:45|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-21 11:35|2014-07-21 13:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-22 10:50|2014-07-22 16:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-22 16:30|2014-07-22 21:35|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-23 11:30|2014-07-23 12:30|||Tägikoneen kehittäminen<br />
Työaika|Urgenche||2014-07-24 12:00|2014-07-24 16:15|||Building model<br />
Työaika|Urgenche||2014-07-24 17:00|2014-07-24 21:00|||Building model<br />
Työaika|Urgenche||2014-07-25 11:05|2014-07-25 14:50|||Building model<br />
Työaika|Urgenche||2014-07-25 15:20|2014-07-25 15:55|||Building model<br />
Työaika|ROKO||2014-07-28 10:55|2014-07-28 15:35|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-28 16:05|2014-07-28 17:30|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-29 11:00|2014-07-29 15:40|||Tägikoneen kehittäminen<br />
</t2b><br />
<br />
<rcode embed=1 label="Laske tunnit"><br />
library(OpasnetUtils)<br />
<br />
dat <- opbase.data("Op_fi3349")<br />
<br />
alku <- dat[dat$Havainto == "alku", "Result"]<br />
loppu <- dat[dat$Havainto == "loppu", "Result"]<br />
<br />
tunnit <- as.POSIXct(loppu) - as.POSIXct(alku)<br />
oprint(tunnit)<br />
oprint(tapply(tunnit, factor(strftime(alku, format = "%W")), sum))<br />
oprint(sum(tunnit))<br />
</rcode><br />
<br />
<br />
<rcode embed=1 label="Laske edelliset tunnit"><br />
library(OpasnetUtils)<br />
<br />
dat <- opbase.data("Op_fi3349", 12721)<br />
<br />
alku <- dat[dat$Havainto == "alku", "Result"]<br />
loppu <- dat[dat$Havainto == "loppu", "Result"]<br />
<br />
oprint(sum(as.POSIXct(loppu) - as.POSIXct(alku)))<br />
</rcode></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=K%C3%A4ytt%C3%A4j%C3%A4:Teemu_R/Ty%C3%B6aika&diff=25137
Käyttäjä:Teemu R/Työaika
2014-07-30T10:28:08Z
<p>Teemu R: heinäkuun tunnit</p>
<hr />
<div><t2b index="Aikalaji,Projekti,Alaprojekti,Havainto" Locations="alku,loppu,toistoväli,asti,kuvaus" unit="d"><br />
Työaika|Urgenche||2014-06-10 13:00|2014-06-10 16:00|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-10 20:00|2014-06-10 23:00|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-11 10:00|2014-06-11 14:20|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-11 16:20|2014-06-11 22:20|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-12 10:00|2014-06-12 15:00|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-13 13:00|2014-06-13 17:00|||Energiatase-mallin korjailu<br />
Työaika|Urgenche||2014-06-15 21:00|2014-06-15 23:00|||Energiatase-mallin korjailu<br />
Työaika|LVM||2014-06-16 10:00|2014-06-16 14:00|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-16 14:30|2014-06-16 17:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-17 12:00|2014-06-17 18:00|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-17 22:30|2014-06-17 23:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-18 12:30|2014-06-18 17:00|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-19 11:00|2014-06-19 16:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-23 11:00|2014-06-23 16:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-23 17:00|2014-06-23 19:00|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-24 10:45|2014-06-24 13:30|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-24 15:30|2014-06-24 20:20|||Tägikoneen kehittäminen<br />
Työaika|LVM||2014-06-24 21:10|2014-06-24 22:45|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-06-25 10:30|2014-06-25 15:00|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-25 15:30|2014-06-25 18:30|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-26 10:30|2014-06-26 14:30|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-26 16:00|2014-06-26 19:50|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-27 08:30|2014-06-27 12:00|||Pneumokokki-malleihin perehtyminen<br />
Työaika|ROKO||2014-06-30 12:00|2014-06-30 16:30|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-06-30 17:30|2014-06-30 20:50|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-01 11:00|2014-07-01 14:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-02 12:20|2014-07-02 16:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-03 11:40|2014-07-03 16:30|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-03 19:30|2014-07-03 23:15|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-04 10:40|2014-07-04 12:25|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-05 08:10|2014-07-05 10:50|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-05 12:20|2014-07-05 15:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-07 11:10|2014-07-07 14:20|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-07 16:05|2014-07-07 17:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-09 18:45|2014-07-09 20:25|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-10 14:40|2014-07-10 18:40|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-10 20:10|2014-07-10 22:05|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-11 13:40|2014-07-11 15:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-11 15:50|2014-07-11 16:20|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-14 10:05|2014-07-14 14:05|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-14 16:00|2014-07-14 19:25|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-15 12:05|2014-07-15 14:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-15 15:10|2014-07-15 15:55|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-16 12:15|2014-07-16 15:20|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-17 11:30|2014-07-17 14:35|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-17 15:15|2014-07-17 17:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-18 11:10|2014-07-18 15:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-18 15:50|2014-07-17 16:45|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-21 11:35|2014-07-21 13:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-22 10:50|2014-07-22 16:00|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-22 16:30|2014-07-22 21:35|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-23 11:30|2014-07-23 12:30|||Tägikoneen kehittäminen<br />
Työaika|Urgenche||2014-07-24 12:00|2014-07-24 16:15|||Building model<br />
Työaika|Urgenche||2014-07-24 17:00|2014-07-24 21:00|||Building model<br />
Työaika|Urgenche||2014-07-25 11:05|2014-07-25 14:50|||Building model<br />
Työaika|Urgenche||2014-07-25 15:20|2014-07-25 15:55|||Building model<br />
Työaika|ROKO||2014-07-28 10:55|2014-07-28 15:35|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-28 16:05|2014-07-28 17:30|||Tägikoneen kehittäminen<br />
Työaika|ROKO||2014-07-29 11:00|2014-07-29 15:40|||Tägikoneen kehittäminen<br />
</t2b><br />
<br />
<rcode embed=1 label="Laske tunnit"><br />
library(OpasnetUtils)<br />
<br />
dat <- opbase.data("Op_fi3349")<br />
<br />
alku <- dat[dat$Havainto == "alku", "Result"]<br />
loppu <- dat[dat$Havainto == "loppu", "Result"]<br />
<br />
tunnit <- as.POSIXct(loppu) - as.POSIXct(alku)<br />
oprint(tunnit)<br />
oprint(tapply(tunnit, factor(strftime(alku, format = "%W")), sum))<br />
oprint(sum(tunnit))<br />
</rcode><br />
<br />
<br />
<rcode embed=1 label="Laske edelliset tunnit"><br />
library(OpasnetUtils)<br />
<br />
dat <- opbase.data("Op_fi3349", 12721)<br />
<br />
alku <- dat[dat$Havainto == "alku", "Result"]<br />
loppu <- dat[dat$Havainto == "loppu", "Result"]<br />
<br />
oprint(sum(as.POSIXct(loppu) - as.POSIXct(alku)))<br />
</rcode></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Liikenne_ja_viestint%C3%A4_digitaalisessa_Suomessa_2020/Sis%C3%A4ll%C3%B6nanalyysi&diff=25127
Liikenne ja viestintä digitaalisessa Suomessa 2020/Sisällönanalyysi
2014-07-29T09:40:55Z
<p>Teemu R: /* Avainsanat */</p>
<hr />
<div>{{LVM}}<br />
<br />
'''Tällä sivulla voit tarkastella liikenneministeriön tulevaisuuskatsauksen sisältöä ja kansalaisten antamien kommenttien suhdetta siihen. <br />
Alla olevilla työkaluilla voit hakea tekstin jakeita eli erillisiä tekstikappaleita ja niihin liittyviä avainsanoja tai muita jakeita. Relaatiot tarkoittavat kuvailua siitä, millä tavalla kaksi jaetta liittyy toisiinsa.<br />
<br />
== Tägikone ==<br />
{{tuloslinkki}}<br />
=== Versiot ===<br />
<t2b name="Versiot" index="Versio,Sivu,Ident" unit="OldID"><br />
1|Liikenne ja viestintä palveluna|Op_fi4248|<br />
1|Liikenteen palvelumarkkinat|Op_fi4253|<br />
1|Liikenteen energiareformi|Op_fi4254|<br />
1|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
1|Monipuoliset sisällöt|Op_fi4256|<br />
1|Oma Painotus Teema I|Op_fi4257|<br />
1|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
1|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
1|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
1|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
1|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
1|Oma Painotus Teema II|Op_fi4262|<br />
1|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
1|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
1|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
1|Arktinen strategia|Op_fi4265|<br />
1|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
1|Oma Painotus Teema III|Op_fi4267|<br />
1|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
2|Liikenne ja viestintä palveluna|Op_fi4248|<br />
2|Liikenteen palvelumarkkinat|Op_fi4253|<br />
2|Liikenteen energiareformi|Op_fi4254|<br />
2|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
2|Monipuoliset sisällöt|Op_fi4256|<br />
2|Oma Painotus Teema I|Op_fi4257|<br />
2|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
2|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
2|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
2|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
2|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
2|Oma Painotus Teema II|Op_fi4262|<br />
2|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
2|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
2|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
2|Arktinen strategia|Op_fi4265|<br />
2|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
2|Oma Painotus Teema III|Op_fi4267|<br />
2|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
</t2b><br />
<br />
===Jakeet===<br />
'''Kaikkien kenttien arvot saa erotella pilkuilla tässä haussa'''<br />
<rcode label="Näytä jakeet" name="jakeet" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Jakeita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
<rcode label="Poista jae" name="jakeenpoisto" embed=1 variables="<br />
name:sivu|description:Poistettavan jakeen sivu|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Poistettavan jakeen ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Tekninen jae';Tekninen jae;<br />
'Jae ei liity sivun aiheeseen';Jae ei liity sivun aiheeseen;<br />
'Jae on häiriköintiä';Jae on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jaeid <- strsplit(jaeid, ",", fixed = TRUE)[[1]]<br />
jaeid <- gsub(" ", "", jaeid)<br />
<br />
if (sum(nchar(jaeid)) == 0) stop("Anna jakeen ID")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame(<br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = as.character(jaeid)<br />
)<br />
<br />
opbase.upload(<br />
out, <br />
who = wiki_username, <br />
name = pagename,<br />
subset = "Jakeenpoistot",<br />
act_type = "append", <br />
language = "fin"<br />
)<br />
</rcode><br />
<br />
<rcode label="Lisää jae" name="jakeenlisays" embed=1 variables="<br />
name:sivu|description:Sivu jolle jae lisätään|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:sisalto|description:Jakeen sisältö|type:textbox|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame( <br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
JaeID = NA,<br />
Result = sisalto<br />
)<br />
<br />
ident.subset <- paste(ident, "Jakeenlisaykset", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
filter$Sivu <- sivu<br />
<br />
upload_with_autoid(<br />
out,<br />
ident.subset,<br />
id_name = "JaeID",<br />
pagename = pagename,<br />
prefix = "L",<br />
filter = filter<br />
)<br />
</rcode><br />
<br />
=== Avainsanat ===<br />
<rcode label="Näytä avainsanat" name="avainsanat_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka avainsanoja haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
out <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<rcode label="Lisää avainsana" name="avainsanat" embed=1 variables="<br />
name:sivu|description:Minkä sivun jakeelle haluat lisätä avainsanoja?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Mikä on jakeen versio?|type:text|default:nykyinen|<br />
name:jae|description:Mikä on jakeen ID?|type:text|<br />
name:yl_avainsanat|description:Valitse alla olevasta listasta yleisiä avainsanoja.|type:checkbox|options:<br />
'Päätös';A Päätös (jae sisältää päätös- tai toimintaehdotuksen);<br />
'Vaikutus';B Vaikutus (jae kuvaa ilmiötä tai vaikutusta);<br />
'Arvo';C Arvo (jakeessa on arvoarvostelma tai kuvaa asian merkitystä);<br />
'Työn tekemiseen liittyvä';D Katsaustyön tekemiseen liittyvä;<br />
'Epäselvä luokka';E Ei mikään edellisistä (valitse ainakin yksi A-E)|<br />
name:avainsanat|description:Laita halutessasi yllä listaamattomattomia avainsanoja tähän pilkulla eroteltuna.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
avainsanat <- strsplit(avainsanat, ",", fixed = TRUE)[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat)<br />
avainsanat <- avainsanat[nchar(avainsanat) > 0]<br />
avainsanat <- c(yl_avainsanat, avainsanat)<br />
if (length(avainsanat) == 0) stop("Yhtään avainsanaa ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
AvainsanaID = NA, <br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Sivu = sivu,<br />
JaeID = as.character(jae), <br />
Result = avainsanat<br />
)<br />
<br />
ident.subset <- paste(ident, "Avainsanat", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "AvainsanaID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Avainsanojen lisääminen onnistui.\n")<br />
</rcode><br />
<br />
<rcode name="avainsananpoisto" embed=1 label="Poista avainsana" showcode=0 variables="<br />
name:avid|description:Poistettavan avainsanan ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Avainsana ei päde uudessa versiossa';Avainsana ei päde uudessa versiossa;<br />
'Virheellinen avainsana';Virheellinen avainsana|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
avid <- strsplit(avid, ",", fixed = TRUE)[[1]]<br />
avid <- gsub(" ", "", avid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = avid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Avainsana poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Relaatiot ===<br />
<rcode label="Näytä relaatiot" name="relaatiot_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka relaatioita haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
out <- rbind(rel1, rel2)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(<br />
out, <br />
include.rownames = FALSE,<br />
caption = "Relaatiot", <br />
caption.placement = "top"<br />
)<br />
} else {<br />
cat("Relaatioita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
<rcode label="Lisää relaatio" name="relaatio" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:nykyinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID?|type:text|<br />
name:relaatio|description:'''Kuinka lähtöjae liittyy kohdejakeeseen?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'tukee tai on linjassa';tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';on neutraali suhteessa;<br />
'on uusi linjaus tai painotus';on uusi linjaus tai painotus;<br />
'kuuluu ryhmään/kokoelmaan';kuuluu ryhmään/kokoelmaan|<br />
name:lisarelaatio|description:VAPAAEHTOINEN Voit antaa oman jakeiden välisen relaation vapaakenttään.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
relaatio <- ifelse(lisarelaatio == '', relaatio, lisarelaatio)<br />
if (nchar(gsub(" ", "", relaatio)) == 0) stop("Relaatiota ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = relaatio<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Relaation lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
<rcode label="Lisää sisällytys" name="sisallytys" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:edellinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID (uudemmassa versiossa)?|type:text|<br />
name:sisallytys|description:'''Sisällytettiinkö ehdotus uudempaan versioon?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun;<br />
'ehdotus ei ole antanut aihetta muutoksiin';ehdotus ei ole antanut aihetta muutoksiin|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
if (nchar(gsub(" ", "", sisallytys)) == 0) stop("Sisällytyksen tyyppiä ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "edellinen") {<br />
version <- get_current_version(ident) - 1<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = sisallytys<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Sisällytyksen lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
<rcode name="relaationpoisto" embed=1 label="Poista relaatio" showcode=0 variables="<br />
name:relid|description:Poistettavan relaation ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Relaatio ei päde uudessa versiossa';Relaatio ei päde uudessa versiossa;<br />
'Virheellinen relaatio';Virheellinen relaatio|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
relid <- strsplit(relid, ",", fixed = TRUE)[[1]]<br />
relid <- gsub(" ", "", relid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = relid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Relaatio poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Kehittyneemmät hakukoneet ===<br />
'''Hae jakeita ja niihin liittyviä avainsanoja'''<br />
<rcode label="Hae" name="avainsanat_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) == 0) {<br />
stop("Jakeita ei löytynyt!")<br />
}<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
} else {<br />
colnames(tags)[colnames(tags) == "Result"] <- "Avainsana"<br />
out <- join(<br />
tags[c("Versio", "Sivu", "JaeID", "AvainsanaID", "Avainsana")],<br />
out[c("Versio", "Sivu", "JaeID", "Result")]<br />
)<br />
# Jos annettiin vain yksi versio ja/tai sivu niin niitä ei tarvitse printata<br />
filter_ind <- NULL<br />
if (length(version) != 1) filter_ind <- c(filter_ind, "Versio")<br />
if (length(sivu) != 1) filter_ind <- c(filter_ind, "Sivu")<br />
filter_ind <- c(filter_ind, "JaeID")<br />
oprint(out[c(filter_ind, "Result", "AvainsanaID", "Avainsana")], include.rownames = FALSE, show_all = TRUE)<br />
}<br />
</rcode><br />
<br />
'''Hae relaatioita ja niihin kuuluvia jakeita'''<br />
<rcode label="Hae" name="relaatiot_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta relaatioita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:liitsis|description:Liittymistyyppi (tyhjä = kaikki)|type:checkbox|options:<br />
'tukee tai on linjassa';Tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';Vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';On neutraali suhteessa;<br />
'on uusi linjaus tai painotus';On uusi linjaus tai painotus;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';Ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';Ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin';Ehdotus ei ole antanut aihetta muutoksiin;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';Ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
# Eri sisältymistyypit pitää määritellä niin että ne voidaan käsitellä erillään muista relaatioista<br />
sis_opt <- c(<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu',<br />
'ehdotus huomioitu ja uusi kohta lisätty',<br />
'ehdotus ei ole antanut aihetta muutoksiin', <br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun'<br />
)<br />
#liit_opt <- c(<br />
# 'tukee tai on linjassa',<br />
# 'vastustaa tai on ristiriidassa',<br />
# 'on neutraali suhteessa',<br />
# 'on uusi linjaus tai painotus'<br />
#)<br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (!is.null(liitsis)) rel <- rel[rel$Result %in% liitsis, ]<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = unique(c(<br />
as.character(rel$Sivu1), <br />
as.character(rel$Sivu2)<br />
)), <br />
versio = version, <br />
jae = unique(c(<br />
as.character(rel$JaeID1), <br />
as.character(rel$JaeID2)<br />
))<br />
)<br />
if (nrow(jakeet) == 0) stop("Relaatioissa listattuja jakeita ei löytynyt!")<br />
<br />
# Relaatiot<br />
if (nrow(rel[!(rel$Relaatio %in% sis_opt),]) > 0) {<br />
jakeet <- jakeet[c("Versio", "Sivu", "JaeID", "Result")]<br />
colnames(jakeet)[colnames(jakeet) == "JaeID"] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu"] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Jae1"<br />
rel <- rel[c("RelaatioID", "Versio", "Sivu1", "JaeID1", "Result", "Sivu2", "JaeID2")]<br />
colnames(rel)[colnames(rel) == "Result"] <- "Relaatio"<br />
out <- join(<br />
rel[(!(rel$Relaatio %in% sis_opt)) & rel$Versio %in% original_version,], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei relaatioita!\n")<br />
}<br />
<br />
# Sisällytykset<br />
if (nrow(rel[(rel$Relaatio %in% sis_opt),]) > 0) {<br />
colnames(jakeet)[colnames(jakeet) %in% c("JaeID","JaeID2")] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Sivu", "Sivu2")] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Result", "Jae2")] <- "Jae1"<br />
colnames(rel)[colnames(rel) == "Relaatio"] <- "Sisällytys"<br />
out <- join(<br />
rel[rel$Sisällytys %in% sis_opt & rel$Versio %in% version[-length(version)],], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
jakeet$Versio <- as.numeric(as.character(jakeet$Versio)) - 1<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Sisällytys", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Sisällytys (uudempaan versioon)", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei sisällytyksiä!\n")<br />
}<br />
}<br />
</rcode><br />
<br />
===Analyysi===<br />
'''Tässä voit hakea jakeita ja analysoida niiden määriä hakemalla yhdellä tai useammalla avainsanalla. '''<br />
<br />
Käytetyt avainsanat:<br />
{{piilotettu|<br />
3D-tulostus Aikataulut Ajoneuvokanta Alueellisuus <br />
alustus Ammattiryhmät Arvo Asutus <br />
Aurinko Automatisaatio Avoimuus Big Data <br />
Biopolttoaine Dataliikenne Digitalisoituminen Eettisyys <br />
eIDAS Elintaso Energia Epäselvä luokka <br />
Eriarvoisuus Erityisryhmät Esineiden internet Globaalius <br />
Globaaluis Henkilökortti Henkilötiedot Huutokauppa <br />
Hybridi Hybridi-TV Hyvinvointi Hyvinvointiyhteiskunta <br />
Häiriöt Ilmasto Infrastruktuuri Innovatiivisus <br />
Innovatiivisuus Internet Investoinnit Joukkoliikenne <br />
Joustavuus Julkinen valta Kaivosteollisuus Kansainvälisyys <br />
Kasvihuonekaasut Kaupallisuus Kaupungit Kehitys <br />
Kestävyys Kevyen liikenteen väylät Kevytliikenne Kiinteistöt <br />
Kilpailu Kilpailukyky Konesalit Konkreettisuus <br />
Kotimaisuus Koulutus Kunnat Kustannustehokkuus <br />
Kuuluvuus Kävely Laajakaista Lainsäädäntö <br />
Laiton tarjonta Langattomuus Lappi Lentoliikenne <br />
Liikenne Liikenneverkostot Liikkumistili Linja-autot <br />
Logistiikka Luonnonsuojelu Lämmitys Maakaasu <br />
Maatalous Mainonta Markkinat Massavalvonta <br />
Meriliikenne Metadata Mobiiliverkko Mopot <br />
Nopeus Ohjaus Ohjelmistot Ohjelmistotoimittaja <br />
Oikeusturva Omavaraisuus Operaattori Osaaminen <br />
Ostovoima Palaute Palvelut Palvelutaso <br />
Peruskunto Pilvipalvelut Polttoaine Posti <br />
Puelueettomuus Pysäköinti Pyöräily Päivitys <br />
Pääkaupunkiseutu Päästöt Päätöksenteko Päätös <br />
Raha Rahoitus Rahtliikenne Rajapinnat <br />
Rakennemuutos Rakentaminen Raskas liikenne Rautatiet <br />
Riippuvuus Rikokset Robotisaatio Ruuhkamaksu <br />
Ruuhkautuminen Saatavuus Sateliittipaikannus Sovellukset <br />
Strategia Suunnittelu Sähkö Sähköauto <br />
Sääntely Säästöt Talous Talouskasvu <br />
Tarpeet Tasa-arvo Tasapuolisuus Tasavertaisuus <br />
Tavaraliikenne Tehokkuus Tekijänoikeus Tekniikkaneutraalius <br />
Tekninen tuki Teknologia Teknologianeutraalius Teollisuus <br />
Terveydenhuolto Terveys testi Tiedon avoimuus <br />
Tiedon hallinnointi Tiedon hallinta Tiedon hyödyntäminen Tieliikenne <br />
Tietoliikenne Tietoturva Toimilupa Toiminta <br />
Toimintavarmuus Toimivuus Tuki Turvallisuus <br />
Turvaverkko Tutkimus Tuuli TV <br />
Työllisyys Työn tekemiseen liittyvä Ulkomaat Uudistus <br />
Vaihtoehtoiset polttoaineet Vaikuttaminen Vaikutus Vakuutus <br />
Valinnanvapaus Valtio Varmenne Varmuus <br />
Vastuu Verkostoituminen Verotus Vesiliikenne <br />
Vesiliikenne, Tasavertaisuus Viestintäverkot Viranomaiset Yhteensopivuus <br />
Yhteiskunta Yhteiskuntamurros Yhteistyö Yhteysnopeus <br />
Yksityisautoilu Yksityisyydensuoja YLE Yleispalvelu <br />
Yleisradio Ympäristö Yritykset Öljy <br />
}}<br />
<br />
<rcode label="Näytä jakeita/tilastoja" name="jae_stats" embed=1 graphics=1 variables="<br />
name:sivu|description:Minkä sivun jakeita haluat tarkastella?|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:avainsanat|description:Hae jakeita joilla on ainakin yksi seuraavista avainsanoista|type:text|<br />
name:avainsanat_all|description:Hae jakeita joilla on kaikki seuraavat avainsanat|type:text|<br />
name:jaelista|description:Haluatko nähdä kaikki löydetyt jakeet?|type:selection|options:FALSE;En;TRUE;Kyllä|default:FALSE|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
library(ggplot2)<br />
<br />
filter <- list()<br />
if (nchar(gsub(" ", "", avainsanat)) > 0) {<br />
avainsanat <- strsplit(avainsanat, ",")[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat) <br />
} else {<br />
avainsanat <- NULL<br />
}<br />
if (nchar(gsub(" ", "", avainsanat_all)) > 0) {<br />
avainsanat_all <- strsplit(avainsanat_all, ",")[[1]]<br />
avainsanat_all <- gsub("^\\s*|\\s*$", "", avainsanat_all)<br />
#filter$Avainsana <- avainsanat_all<br />
} else {<br />
avainsanat_all <- NULL<br />
}<br />
filter$Sivu <- sivu<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
filter$Versio <- version<br />
<br />
if (length(filter) == 0) filter <- NULL<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
jaeid <- NULL<br />
<br />
if (!is.null(avainsanat)|!is.null(avainsanat_all)) {<br />
tags <- tags[tags$Result %in% c(avainsanat, avainsanat_all), ]<br />
jaeid <- unique(as.character(tags$JaeID))<br />
}<br />
<br />
if(!is.null(avainsanat_all)) {<br />
temp <- list()<br />
for (i in 1:nrow(jaeid)) {<br />
temp[[i]] <- avainsanat_all %in% tags$Result[tags$JaeID == jaeid[i]]<br />
}<br />
temp <- lapply(temp, all)<br />
jaeid <- jaeid[temp]<br />
tags <- tags[tags$JaeID %in% jaeid,]<br />
}<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt.\n")<br />
}<br />
<br />
if (is.null(filter)) {<br />
filter2 <- list()<br />
} else {<br />
filter2 <- filter<br />
}<br />
<br />
filter2$JaeID <- jaeid<br />
<br />
if (length(filter2) == 0) filter2 <- NULL<br />
<br />
if (jaelista) {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = filter2$Sivu, # *list$non-existent returns NULL<br />
versio = filter2$Versio, <br />
jae = filter2$JaeID<br />
)<br />
if (nrow(jakeet) == 0) {<br />
cat("Avainsanoissa listattuja jakeita ei löytynyt.\n")<br />
} else {<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Sisältö"<br />
tagged <- NULL<br />
if (nrow(tags) > 0) {<br />
#tagged <- join(<br />
# jakeet[c("Versio", "Sivu", "Aihe", "JaeID")], <br />
# tags[c("Versio", "Sivu", "JaeID", "Result")]<br />
#)<br />
#colnames(tagged)[colnames(tagged) == "Result"] <- "Avainsana"<br />
tagged <- tapply(tags$Result, tags[c("Versio", "Sivu", "JaeID")], paste, collapse = ", ")<br />
tagged <- as.data.frame(as.table(tagged))<br />
colnames(tagged)[colnames(tagged) == "Freq"] <- "Avainsanat"<br />
tagged <- join(<br />
jakeet[c("Versio", "Sivu", "JaeID", "Sisältö")], <br />
tagged[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
type = "inner",<br />
match = "first"<br />
)<br />
oprint(<br />
tagged[c("Versio", "Sivu", "JaeID", "Sisältö", "Avainsanat")],<br />
caption = "Jakeet", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = rep(0, 6)<br />
)<br />
}<br />
}<br />
}<br />
<br />
if (nrow(tags) > 0) {<br />
tags_out <- ddply(tags, "Result", nrow)<br />
colnames(tags_out) <- c("Avainsana", "Lukumäärä")<br />
tags_out <- tags_out[order(tags_out$Lukumäärä, decreasing = TRUE),]<br />
oprint(<br />
tags_out,<br />
caption = "Avainsanojen lukumäärät", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = c(0, 0, 0)<br />
)<br />
ggplot(tags_out, aes(x = Avainsana, y = Lukumäärä, fill = Avainsana)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Avainsanojen frekvenssit")<br />
}<br />
<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter3 <- list()<br />
filter3$Sivu1 <- sivu<br />
filter3$Versio <- version<br />
filter3$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter3$JaeID1 <- NULL<br />
filter3$Sivu1 <- NULL<br />
filter3$JaeID2 <- jaeid<br />
filter3$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
related <- rel[<br />
rel$Result %in% c(<br />
"on neutraali suhteessa", <br />
"on uusi linjaus tai painotus", <br />
"tukee tai on linjassa", <br />
"vastustaa tai on ristiriidassa"<br />
), ]<br />
related$Result <- as.character(related$Result)<br />
affected <- rel[<br />
rel$Result %in% c(<br />
"ehdotus ei ole antanut aihetta muutoksiin",<br />
"ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun", <br />
"ehdotus huomioitu ja liittyvää painotusta muutettu",<br />
"ehdotus huomioitu ja uusi kohta lisätty"<br />
), ]<br />
affected$Result <- as.character(affected$Result)<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin"] <- "Ei aihetta muutoksiin"<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun"] <- "Sisältyy valmiiksi"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja liittyvää painotusta muutettu"] <- "Huomioitu painotuksella"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja uusi kohta lisätty"] <- "Huomioitu lisäyksellä"<br />
<br />
related_out <- ddply(related, "Result", nrow)<br />
colnames(related_out) <- c("Relaatio", "Lukumäärä")<br />
<br />
affected_out <- ddply(affected, "Result", nrow)<br />
colnames(affected_out) <- c("Sisällytys", "Lukumäärä")<br />
}<br />
<br />
if (nrow(related_out > 0)) {<br />
ggplot(related_out, aes(x = Relaatio, y = Lukumäärä, fill = Relaatio)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Relaatioiden frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
<br />
if (nrow(affected_out > 0)) {<br />
ggplot(affected_out, aes(x = Sisällytys, y = Lukumäärä, fill = Sisällytys)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Sisällytyksen frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
</rcode><br />
=== Sulautus ===<br />
{{tuloslinkki}}<br />
<rcode label="Etsi sulautuksia" name="sulautus" embed=0 variables="<br />
name:sivu|description:Sivut joihin sulautus tehdään (kaikista edellisen version jakeista)|type:checkbox|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:toleranssi|description:Toleranssi (Levenshtein distance)|default:5|<br />
name:tallenna|description:Tallenna kantaan|type:selection|options:TRUE;Kyllä;FALSE;Ei|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
mdat <- get_meta_data(ident)<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
version <- c(version - 1, version)<br />
<br />
jakeet <- jaehakukone(ident, versio = version)<br />
<br />
ver1 <- jakeet[jakeet$Versio == version[1],]<br />
ver2 <- jakeet[jakeet$Versio == version[2] & jakeet$Sivu == sivu,]<br />
<br />
# adist too slow<br />
d <- adist(<br />
ver1$Result, <br />
ver2$Result,<br />
fixed = FALSE<br />
)<br />
d[is.na(d)] <- Inf<br />
#d_min <- apply(d, 1, min)<br />
#d_tol <- d <= toleranssi<br />
#d_out <- apply(d, 1, which.min)<br />
<br />
colnames(ver1)[colnames(ver1) == "Versio"] <- "Versio1"<br />
colnames(ver1)[colnames(ver1) == "Sivu"] <- "Sivu1"<br />
colnames(ver1)[colnames(ver1) == "JaeID"] <- "JaeID1"<br />
colnames(ver1)[colnames(ver1) == "Result"] <- "Result1"<br />
<br />
colnames(ver2)[colnames(ver2) == "Versio"] <- "Versio2"<br />
colnames(ver2)[colnames(ver2) == "Sivu"] <- "Sivu2"<br />
colnames(ver2)[colnames(ver2) == "JaeID"] <- "JaeID2"<br />
colnames(ver2)[colnames(ver2) == "Result"] <- "Result2"<br />
<br />
#out <- cbind(ver1[d_min <= toleranssi, ], ver2[d_out[d_min <= toleranssi], ])<br />
<br />
d <- alply(d, 1, I)<br />
d_tol <- llply(d, function(x) {x <= toleranssi})<br />
d_reps <- laply(d_tol, sum)<br />
d_w <- llply(d_tol, which)<br />
d_w <- unlist(d_w)<br />
<br />
out <- cbind(ver1[rep(1:nrow(ver1), d_reps),], ver2[d_w, ])<br />
<br />
#d <- NULL<br />
#n <- NULL<br />
#for (i in 1:nrow(ver1)) {<br />
# for (j in split(ver2$Result, ceiling((1:nrow(ver2)) / 100))) {<br />
# temp <- agrep(ver1$Result[i], j, toleranssi)<br />
# d <- append(d, temp)<br />
# n <- append(n, length(temp))<br />
# }<br />
#}<br />
<br />
#out <- cbind(<br />
# ver1[rep(1:nrow(ver1), n),],<br />
# ver2[d,]<br />
#)<br />
if (tallenna) {<br />
opbase.upload(<br />
out,<br />
name = pagename,<br />
who = wiki_username,<br />
subset = "Sulautukset"<br />
)<br />
} else { <br />
oprint(<br />
out, <br />
include.rownames = FALSE, <br />
digits = rep(0, ncol(out) + 1), <br />
caption("Sulautus uuteen versioon"), <br />
caption.placement = "top",<br />
show.all = TRUE<br />
)<br />
}<br />
</rcode></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Liikenne_ja_viestint%C3%A4_digitaalisessa_Suomessa_2020/Sis%C3%A4ll%C3%B6nanalyysi&diff=25120
Liikenne ja viestintä digitaalisessa Suomessa 2020/Sisällönanalyysi
2014-07-28T12:53:46Z
<p>Teemu R: /* Tägikone */</p>
<hr />
<div>{{LVM}}<br />
<br />
'''Tällä sivulla voit tarkastella liikenneministeriön tulevaisuuskatsauksen sisältöä ja kansalaisten antamien kommenttien suhdetta siihen. <br />
Alla olevilla työkaluilla voit hakea tekstin jakeita eli erillisiä tekstikappaleita ja niihin liittyviä avainsanoja tai muita jakeita. Relaatiot tarkoittavat kuvailua siitä, millä tavalla kaksi jaetta liittyy toisiinsa.<br />
<br />
== Tägikone ==<br />
{{tuloslinkki}}<br />
=== Versiot ===<br />
<t2b name="Versiot" index="Versio,Sivu,Ident" unit="OldID"><br />
1|Liikenne ja viestintä palveluna|Op_fi4248|<br />
1|Liikenteen palvelumarkkinat|Op_fi4253|<br />
1|Liikenteen energiareformi|Op_fi4254|<br />
1|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
1|Monipuoliset sisällöt|Op_fi4256|<br />
1|Oma Painotus Teema I|Op_fi4257|<br />
1|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
1|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
1|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
1|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
1|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
1|Oma Painotus Teema II|Op_fi4262|<br />
1|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
1|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
1|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
1|Arktinen strategia|Op_fi4265|<br />
1|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
1|Oma Painotus Teema III|Op_fi4267|<br />
1|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
2|Liikenne ja viestintä palveluna|Op_fi4248|<br />
2|Liikenteen palvelumarkkinat|Op_fi4253|<br />
2|Liikenteen energiareformi|Op_fi4254|<br />
2|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
2|Monipuoliset sisällöt|Op_fi4256|<br />
2|Oma Painotus Teema I|Op_fi4257|<br />
2|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
2|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
2|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
2|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
2|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
2|Oma Painotus Teema II|Op_fi4262|<br />
2|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
2|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
2|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
2|Arktinen strategia|Op_fi4265|<br />
2|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
2|Oma Painotus Teema III|Op_fi4267|<br />
2|Ympäristöministeriön tulevaisuuskatsaus|Op_fi4443|24666<br />
</t2b><br />
<br />
===Jakeet===<br />
'''Kaikkien kenttien arvot saa erotella pilkuilla tässä haussa'''<br />
<rcode label="Näytä jakeet" name="jakeet" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Jakeita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
<rcode label="Poista jae" name="jakeenpoisto" embed=1 variables="<br />
name:sivu|description:Poistettavan jakeen sivu|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Poistettavan jakeen ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Tekninen jae';Tekninen jae;<br />
'Jae ei liity sivun aiheeseen';Jae ei liity sivun aiheeseen;<br />
'Jae on häiriköintiä';Jae on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jaeid <- strsplit(jaeid, ",", fixed = TRUE)[[1]]<br />
jaeid <- gsub(" ", "", jaeid)<br />
<br />
if (sum(nchar(jaeid)) == 0) stop("Anna jakeen ID")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame(<br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = as.character(jaeid)<br />
)<br />
<br />
opbase.upload(<br />
out, <br />
who = wiki_username, <br />
name = pagename,<br />
subset = "Jakeenpoistot",<br />
act_type = "append", <br />
language = "fin"<br />
)<br />
</rcode><br />
<br />
<rcode label="Lisää jae" name="jakeenlisays" embed=1 variables="<br />
name:sivu|description:Sivu jolle jae lisätään|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:sisalto|description:Jakeen sisältö|type:textbox|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame( <br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
JaeID = NA,<br />
Result = sisalto<br />
)<br />
<br />
ident.subset <- paste(ident, "Jakeenlisaykset", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
filter$Sivu <- sivu<br />
<br />
upload_with_autoid(<br />
out,<br />
ident.subset,<br />
id_name = "JaeID",<br />
pagename = pagename,<br />
prefix = "L",<br />
filter = filter<br />
)<br />
</rcode><br />
<br />
=== Avainsanat ===<br />
<rcode label="Näytä avainsanat" name="avainsanat_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka avainsanoja haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
out <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<rcode label="Lisää avainsana" name="avainsanat" embed=1 variables="<br />
name:sivu|description:Minkä sivun jakeelle haluat lisätä avainsanoja?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Mikä on jakeen versio?|type:text|default:nykyinen|<br />
name:jae|description:Mikä on jakeen ID?|type:text|<br />
name:yl_avainsanat|description:Valitse alla olevasta listasta yleisiä avainsanoja.|type:checkbox|options:<br />
'Päätös';A Päätös (jae sisältää päätös- tai toimintaehdotuksen);<br />
'Vaikutus';B Vaikutus (jae kuvaa ilmiötä tai vaikutusta);<br />
'Arvo';C Arvo (jakeessa on arvoarvostelma tai kuvaa asian merkitystä);<br />
'Työn tekemiseen liittyvä';D Katsaustyön tekemiseen liittyvä;<br />
'Epäselvä luokka';E Ei mikään edellisistä (valitse ainakin yksi A-E)|<br />
name:avainsanat|description:Laita halutessasi yllä listaamattomattomia avainsanoja tähän pilkulla eroteltuna.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
avainsanat <- strsplit(avainsanat, ",", fixed = TRUE)[[1]]<br />
avainsanat <- gsub(" ", "", avainsanat)<br />
avainsanat <- avainsanat[nchar(avainsanat) > 0]<br />
avainsanat <- c(yl_avainsanat, avainsanat)<br />
if (length(avainsanat) == 0) stop("Yhtään avainsanaa ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
AvainsanaID = NA, <br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Sivu = sivu,<br />
JaeID = as.character(jae), <br />
Result = avainsanat<br />
)<br />
<br />
ident.subset <- paste(ident, "Avainsanat", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "AvainsanaID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Avainsanojen lisääminen onnistui.\n")<br />
</rcode><br />
<br />
<rcode name="avainsananpoisto" embed=1 label="Poista avainsana" showcode=0 variables="<br />
name:avid|description:Poistettavan avainsanan ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Avainsana ei päde uudessa versiossa';Avainsana ei päde uudessa versiossa;<br />
'Virheellinen avainsana';Virheellinen avainsana|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
avid <- strsplit(avid, ",", fixed = TRUE)[[1]]<br />
avid <- gsub(" ", "", avid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = avid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Avainsana poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Relaatiot ===<br />
<rcode label="Näytä relaatiot" name="relaatiot_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka relaatioita haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
out <- rbind(rel1, rel2)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(<br />
out, <br />
include.rownames = FALSE,<br />
caption = "Relaatiot", <br />
caption.placement = "top"<br />
)<br />
} else {<br />
cat("Relaatioita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
<rcode label="Lisää relaatio" name="relaatio" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:nykyinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID?|type:text|<br />
name:relaatio|description:'''Kuinka lähtöjae liittyy kohdejakeeseen?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'tukee tai on linjassa';tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';on neutraali suhteessa;<br />
'on uusi linjaus tai painotus';on uusi linjaus tai painotus;<br />
'kuuluu ryhmään/kokoelmaan';kuuluu ryhmään/kokoelmaan|<br />
name:lisarelaatio|description:VAPAAEHTOINEN Voit antaa oman jakeiden välisen relaation vapaakenttään.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
relaatio <- ifelse(lisarelaatio == '', relaatio, lisarelaatio)<br />
if (nchar(gsub(" ", "", relaatio)) == 0) stop("Relaatiota ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = relaatio<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Relaation lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
<rcode label="Lisää sisällytys" name="sisallytys" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:edellinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID (uudemmassa versiossa)?|type:text|<br />
name:sisallytys|description:'''Sisällytettiinkö ehdotus uudempaan versioon?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun;<br />
'ehdotus ei ole antanut aihetta muutoksiin';ehdotus ei ole antanut aihetta muutoksiin|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
if (nchar(gsub(" ", "", sisallytys)) == 0) stop("Sisällytyksen tyyppiä ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "edellinen") {<br />
version <- get_current_version(ident) - 1<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = sisallytys<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Sisällytyksen lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
<rcode name="relaationpoisto" embed=1 label="Poista relaatio" showcode=0 variables="<br />
name:relid|description:Poistettavan relaation ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Relaatio ei päde uudessa versiossa';Relaatio ei päde uudessa versiossa;<br />
'Virheellinen relaatio';Virheellinen relaatio|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
relid <- strsplit(relid, ",", fixed = TRUE)[[1]]<br />
relid <- gsub(" ", "", relid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = relid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Relaatio poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Kehittyneemmät hakukoneet ===<br />
'''Hae jakeita ja niihin liittyviä avainsanoja'''<br />
<rcode label="Hae" name="avainsanat_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) == 0) {<br />
stop("Jakeita ei löytynyt!")<br />
}<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
} else {<br />
colnames(tags)[colnames(tags) == "Result"] <- "Avainsana"<br />
out <- join(<br />
tags[c("Versio", "Sivu", "JaeID", "AvainsanaID", "Avainsana")],<br />
out[c("Versio", "Sivu", "JaeID", "Result")]<br />
)<br />
# Jos annettiin vain yksi versio ja/tai sivu niin niitä ei tarvitse printata<br />
filter_ind <- NULL<br />
if (length(version) != 1) filter_ind <- c(filter_ind, "Versio")<br />
if (length(sivu) != 1) filter_ind <- c(filter_ind, "Sivu")<br />
filter_ind <- c(filter_ind, "JaeID")<br />
oprint(out[c(filter_ind, "Result", "AvainsanaID", "Avainsana")], include.rownames = FALSE, show_all = TRUE)<br />
}<br />
</rcode><br />
<br />
'''Hae relaatioita ja niihin kuuluvia jakeita'''<br />
<rcode label="Hae" name="relaatiot_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta relaatioita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:liitsis|description:Liittymistyyppi (tyhjä = kaikki)|type:checkbox|options:<br />
'tukee tai on linjassa';Tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';Vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';On neutraali suhteessa;<br />
'on uusi linjaus tai painotus';On uusi linjaus tai painotus;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';Ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';Ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin';Ehdotus ei ole antanut aihetta muutoksiin;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';Ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
# Eri sisältymistyypit pitää määritellä niin että ne voidaan käsitellä erillään muista relaatioista<br />
sis_opt <- c(<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu',<br />
'ehdotus huomioitu ja uusi kohta lisätty',<br />
'ehdotus ei ole antanut aihetta muutoksiin', <br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun'<br />
)<br />
#liit_opt <- c(<br />
# 'tukee tai on linjassa',<br />
# 'vastustaa tai on ristiriidassa',<br />
# 'on neutraali suhteessa',<br />
# 'on uusi linjaus tai painotus'<br />
#)<br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (!is.null(liitsis)) rel <- rel[rel$Result %in% liitsis, ]<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = unique(c(<br />
as.character(rel$Sivu1), <br />
as.character(rel$Sivu2)<br />
)), <br />
versio = version, <br />
jae = unique(c(<br />
as.character(rel$JaeID1), <br />
as.character(rel$JaeID2)<br />
))<br />
)<br />
if (nrow(jakeet) == 0) stop("Relaatioissa listattuja jakeita ei löytynyt!")<br />
<br />
# Relaatiot<br />
if (nrow(rel[!(rel$Relaatio %in% sis_opt),]) > 0) {<br />
jakeet <- jakeet[c("Versio", "Sivu", "JaeID", "Result")]<br />
colnames(jakeet)[colnames(jakeet) == "JaeID"] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu"] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Jae1"<br />
rel <- rel[c("RelaatioID", "Versio", "Sivu1", "JaeID1", "Result", "Sivu2", "JaeID2")]<br />
colnames(rel)[colnames(rel) == "Result"] <- "Relaatio"<br />
out <- join(<br />
rel[(!(rel$Relaatio %in% sis_opt)) & rel$Versio %in% original_version,], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei relaatioita!\n")<br />
}<br />
<br />
# Sisällytykset<br />
if (nrow(rel[(rel$Relaatio %in% sis_opt),]) > 0) {<br />
colnames(jakeet)[colnames(jakeet) %in% c("JaeID","JaeID2")] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Sivu", "Sivu2")] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Result", "Jae2")] <- "Jae1"<br />
colnames(rel)[colnames(rel) == "Relaatio"] <- "Sisällytys"<br />
out <- join(<br />
rel[rel$Sisällytys %in% sis_opt & rel$Versio %in% version[-length(version)],], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
jakeet$Versio <- as.numeric(as.character(jakeet$Versio)) - 1<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Sisällytys", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Sisällytys (uudempaan versioon)", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei sisällytyksiä!\n")<br />
}<br />
}<br />
</rcode><br />
<br />
===Analyysi===<br />
'''Tässä voit hakea jakeita ja analysoida niiden määriä hakemalla yhdellä tai useammalla avainsanalla. '''<br />
<br />
Käytetyt avainsanat:<br />
{{piilotettu|<br />
3D-tulostus Aikataulut Ajoneuvokanta Alueellisuus <br />
alustus Ammattiryhmät Arvo Asutus <br />
Aurinko Automatisaatio Avoimuus Big Data <br />
Biopolttoaine Dataliikenne Digitalisoituminen Eettisyys <br />
eIDAS Elintaso Energia Epäselvä luokka <br />
Eriarvoisuus Erityisryhmät Esineiden internet Globaalius <br />
Globaaluis Henkilökortti Henkilötiedot Huutokauppa <br />
Hybridi Hybridi-TV Hyvinvointi Hyvinvointiyhteiskunta <br />
Häiriöt Ilmasto Infrastruktuuri Innovatiivisus <br />
Innovatiivisuus Internet Investoinnit Joukkoliikenne <br />
Joustavuus Julkinen valta Kaivosteollisuus Kansainvälisyys <br />
Kasvihuonekaasut Kaupallisuus Kaupungit Kehitys <br />
Kestävyys Kevyen liikenteen väylät Kevytliikenne Kiinteistöt <br />
Kilpailu Kilpailukyky Konesalit Konkreettisuus <br />
Kotimaisuus Koulutus Kunnat Kustannustehokkuus <br />
Kuuluvuus Kävely Laajakaista Lainsäädäntö <br />
Laiton tarjonta Langattomuus Lappi Lentoliikenne <br />
Liikenne Liikenneverkostot Liikkumistili Linja-autot <br />
Logistiikka Luonnonsuojelu Lämmitys Maakaasu <br />
Maatalous Mainonta Markkinat Massavalvonta <br />
Meriliikenne Metadata Mobiiliverkko Mopot <br />
Nopeus Ohjaus Ohjelmistot Ohjelmistotoimittaja <br />
Oikeusturva Omavaraisuus Operaattori Osaaminen <br />
Ostovoima Palaute Palvelut Palvelutaso <br />
Peruskunto Pilvipalvelut Polttoaine Posti <br />
Puelueettomuus Pysäköinti Pyöräily Päivitys <br />
Pääkaupunkiseutu Päästöt Päätöksenteko Päätös <br />
Raha Rahoitus Rahtliikenne Rajapinnat <br />
Rakennemuutos Rakentaminen Raskas liikenne Rautatiet <br />
Riippuvuus Rikokset Robotisaatio Ruuhkamaksu <br />
Ruuhkautuminen Saatavuus Sateliittipaikannus Sovellukset <br />
Strategia Suunnittelu Sähkö Sähköauto <br />
Sääntely Säästöt Talous Talouskasvu <br />
Tarpeet Tasa-arvo Tasapuolisuus Tasavertaisuus <br />
Tavaraliikenne Tehokkuus Tekijänoikeus Tekniikkaneutraalius <br />
Tekninen tuki Teknologia Teknologianeutraalius Teollisuus <br />
Terveydenhuolto Terveys testi Tiedon avoimuus <br />
Tiedon hallinnointi Tiedon hallinta Tiedon hyödyntäminen Tieliikenne <br />
Tietoliikenne Tietoturva Toimilupa Toiminta <br />
Toimintavarmuus Toimivuus Tuki Turvallisuus <br />
Turvaverkko Tutkimus Tuuli TV <br />
Työllisyys Työn tekemiseen liittyvä Ulkomaat Uudistus <br />
Vaihtoehtoiset polttoaineet Vaikuttaminen Vaikutus Vakuutus <br />
Valinnanvapaus Valtio Varmenne Varmuus <br />
Vastuu Verkostoituminen Verotus Vesiliikenne <br />
Vesiliikenne, Tasavertaisuus Viestintäverkot Viranomaiset Yhteensopivuus <br />
Yhteiskunta Yhteiskuntamurros Yhteistyö Yhteysnopeus <br />
Yksityisautoilu Yksityisyydensuoja YLE Yleispalvelu <br />
Yleisradio Ympäristö Yritykset Öljy <br />
}}<br />
<br />
<rcode label="Näytä jakeita/tilastoja" name="jae_stats" embed=1 graphics=1 variables="<br />
name:sivu|description:Minkä sivun jakeita haluat tarkastella?|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:avainsanat|description:Hae jakeita joilla on ainakin yksi seuraavista avainsanoista|type:text|<br />
name:avainsanat_all|description:Hae jakeita joilla on kaikki seuraavat avainsanat|type:text|<br />
name:jaelista|description:Haluatko nähdä kaikki löydetyt jakeet?|type:selection|options:FALSE;En;TRUE;Kyllä|default:FALSE|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
library(ggplot2)<br />
<br />
filter <- list()<br />
if (nchar(gsub(" ", "", avainsanat)) > 0) {<br />
avainsanat <- strsplit(avainsanat, ",")[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat) <br />
} else {<br />
avainsanat <- NULL<br />
}<br />
if (nchar(gsub(" ", "", avainsanat_all)) > 0) {<br />
avainsanat_all <- strsplit(avainsanat_all, ",")[[1]]<br />
avainsanat_all <- gsub("^\\s*|\\s*$", "", avainsanat_all)<br />
#filter$Avainsana <- avainsanat_all<br />
} else {<br />
avainsanat_all <- NULL<br />
}<br />
filter$Sivu <- sivu<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
filter$Versio <- version<br />
<br />
if (length(filter) == 0) filter <- NULL<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
jaeid <- NULL<br />
<br />
if (!is.null(avainsanat)|!is.null(avainsanat_all)) {<br />
tags <- tags[tags$Result %in% c(avainsanat, avainsanat_all), ]<br />
jaeid <- unique(as.character(tags$JaeID))<br />
}<br />
<br />
if(!is.null(avainsanat_all)) {<br />
temp <- list()<br />
for (i in 1:nrow(jaeid)) {<br />
temp[[i]] <- avainsanat_all %in% tags$Result[tags$JaeID == jaeid[i]]<br />
}<br />
temp <- lapply(temp, all)<br />
jaeid <- jaeid[temp]<br />
tags <- tags[tags$JaeID %in% jaeid,]<br />
}<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt.\n")<br />
}<br />
<br />
if (is.null(filter)) {<br />
filter2 <- list()<br />
} else {<br />
filter2 <- filter<br />
}<br />
<br />
filter2$JaeID <- jaeid<br />
<br />
if (length(filter2) == 0) filter2 <- NULL<br />
<br />
if (jaelista) {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = filter2$Sivu, # *list$non-existent returns NULL<br />
versio = filter2$Versio, <br />
jae = filter2$JaeID<br />
)<br />
if (nrow(jakeet) == 0) {<br />
cat("Avainsanoissa listattuja jakeita ei löytynyt.\n")<br />
} else {<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Sisältö"<br />
tagged <- NULL<br />
if (nrow(tags) > 0) {<br />
#tagged <- join(<br />
# jakeet[c("Versio", "Sivu", "Aihe", "JaeID")], <br />
# tags[c("Versio", "Sivu", "JaeID", "Result")]<br />
#)<br />
#colnames(tagged)[colnames(tagged) == "Result"] <- "Avainsana"<br />
tagged <- tapply(tags$Result, tags[c("Versio", "Sivu", "JaeID")], paste, collapse = ", ")<br />
tagged <- as.data.frame(as.table(tagged))<br />
colnames(tagged)[colnames(tagged) == "Freq"] <- "Avainsanat"<br />
tagged <- join(<br />
jakeet[c("Versio", "Sivu", "JaeID", "Sisältö")], <br />
tagged[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
type = "inner",<br />
match = "first"<br />
)<br />
oprint(<br />
tagged[c("Versio", "Sivu", "JaeID", "Sisältö", "Avainsanat")],<br />
caption = "Jakeet", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = rep(0, 6)<br />
)<br />
}<br />
}<br />
}<br />
<br />
if (nrow(tags) > 0) {<br />
tags_out <- ddply(tags, "Result", nrow)<br />
colnames(tags_out) <- c("Avainsana", "Lukumäärä")<br />
tags_out <- tags_out[order(tags_out$Lukumäärä, decreasing = TRUE),]<br />
oprint(<br />
tags_out,<br />
caption = "Avainsanojen lukumäärät", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = c(0, 0, 0)<br />
)<br />
ggplot(tags_out, aes(x = Avainsana, y = Lukumäärä, fill = Avainsana)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Avainsanojen frekvenssit")<br />
}<br />
<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter3 <- list()<br />
filter3$Sivu1 <- sivu<br />
filter3$Versio <- version<br />
filter3$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter3$JaeID1 <- NULL<br />
filter3$Sivu1 <- NULL<br />
filter3$JaeID2 <- jaeid<br />
filter3$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
related <- rel[<br />
rel$Result %in% c(<br />
"on neutraali suhteessa", <br />
"on uusi linjaus tai painotus", <br />
"tukee tai on linjassa", <br />
"vastustaa tai on ristiriidassa"<br />
), ]<br />
related$Result <- as.character(related$Result)<br />
affected <- rel[<br />
rel$Result %in% c(<br />
"ehdotus ei ole antanut aihetta muutoksiin",<br />
"ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun", <br />
"ehdotus huomioitu ja liittyvää painotusta muutettu",<br />
"ehdotus huomioitu ja uusi kohta lisätty"<br />
), ]<br />
affected$Result <- as.character(affected$Result)<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin"] <- "Ei aihetta muutoksiin"<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun"] <- "Sisältyy valmiiksi"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja liittyvää painotusta muutettu"] <- "Huomioitu painotuksella"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja uusi kohta lisätty"] <- "Huomioitu lisäyksellä"<br />
<br />
related_out <- ddply(related, "Result", nrow)<br />
colnames(related_out) <- c("Relaatio", "Lukumäärä")<br />
<br />
affected_out <- ddply(affected, "Result", nrow)<br />
colnames(affected_out) <- c("Sisällytys", "Lukumäärä")<br />
}<br />
<br />
if (nrow(related_out > 0)) {<br />
ggplot(related_out, aes(x = Relaatio, y = Lukumäärä, fill = Relaatio)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Relaatioiden frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
<br />
if (nrow(affected_out > 0)) {<br />
ggplot(affected_out, aes(x = Sisällytys, y = Lukumäärä, fill = Sisällytys)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Sisällytyksen frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
</rcode><br />
=== Sulautus ===<br />
{{tuloslinkki}}<br />
<rcode label="Etsi sulautuksia" name="sulautus" embed=0 variables="<br />
name:sivu|description:Sivut joihin sulautus tehdään (kaikista edellisen version jakeista)|type:checkbox|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:toleranssi|description:Toleranssi (Levenshtein distance)|default:5|<br />
name:tallenna|description:Tallenna kantaan|type:selection|options:TRUE;Kyllä;FALSE;Ei|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
mdat <- get_meta_data(ident)<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
version <- c(version - 1, version)<br />
<br />
jakeet <- jaehakukone(ident, versio = version)<br />
<br />
ver1 <- jakeet[jakeet$Versio == version[1],]<br />
ver2 <- jakeet[jakeet$Versio == version[2] & jakeet$Sivu == sivu,]<br />
<br />
# adist too slow<br />
d <- adist(<br />
ver1$Result, <br />
ver2$Result,<br />
fixed = FALSE<br />
)<br />
d[is.na(d)] <- Inf<br />
#d_min <- apply(d, 1, min)<br />
#d_tol <- d <= toleranssi<br />
#d_out <- apply(d, 1, which.min)<br />
<br />
colnames(ver1)[colnames(ver1) == "Versio"] <- "Versio1"<br />
colnames(ver1)[colnames(ver1) == "Sivu"] <- "Sivu1"<br />
colnames(ver1)[colnames(ver1) == "JaeID"] <- "JaeID1"<br />
colnames(ver1)[colnames(ver1) == "Result"] <- "Result1"<br />
<br />
colnames(ver2)[colnames(ver2) == "Versio"] <- "Versio2"<br />
colnames(ver2)[colnames(ver2) == "Sivu"] <- "Sivu2"<br />
colnames(ver2)[colnames(ver2) == "JaeID"] <- "JaeID2"<br />
colnames(ver2)[colnames(ver2) == "Result"] <- "Result2"<br />
<br />
#out <- cbind(ver1[d_min <= toleranssi, ], ver2[d_out[d_min <= toleranssi], ])<br />
<br />
d <- alply(d, 1, I)<br />
d_tol <- llply(d, function(x) {x <= toleranssi})<br />
d_reps <- laply(d_tol, sum)<br />
d_w <- llply(d_tol, which)<br />
d_w <- unlist(d_w)<br />
<br />
out <- cbind(ver1[rep(1:nrow(ver1), d_reps),], ver2[d_w, ])<br />
<br />
#d <- NULL<br />
#n <- NULL<br />
#for (i in 1:nrow(ver1)) {<br />
# for (j in split(ver2$Result, ceiling((1:nrow(ver2)) / 100))) {<br />
# temp <- agrep(ver1$Result[i], j, toleranssi)<br />
# d <- append(d, temp)<br />
# n <- append(n, length(temp))<br />
# }<br />
#}<br />
<br />
#out <- cbind(<br />
# ver1[rep(1:nrow(ver1), n),],<br />
# ver2[d,]<br />
#)<br />
if (tallenna) {<br />
opbase.upload(<br />
out,<br />
name = pagename,<br />
who = wiki_username,<br />
subset = "Sulautukset"<br />
)<br />
} else { <br />
oprint(<br />
out, <br />
include.rownames = FALSE, <br />
digits = rep(0, ncol(out) + 1), <br />
caption("Sulautus uuteen versioon"), <br />
caption.placement = "top",<br />
show.all = TRUE<br />
)<br />
}<br />
</rcode></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Liikenne_ja_viestint%C3%A4_digitaalisessa_Suomessa_2020/Sis%C3%A4ll%C3%B6nanalyysi&diff=25119
Liikenne ja viestintä digitaalisessa Suomessa 2020/Sisällönanalyysi
2014-07-28T12:03:54Z
<p>Teemu R: /* Tägikone */</p>
<hr />
<div>{{LVM}}<br />
<br />
'''Tällä sivulla voit tarkastella liikenneministeriön tulevaisuuskatsauksen sisältöä ja kansalaisten antamien kommenttien suhdetta siihen. <br />
Alla olevilla työkaluilla voit hakea tekstin jakeita eli erillisiä tekstikappaleita ja niihin liittyviä avainsanoja tai muita jakeita. Relaatiot tarkoittavat kuvailua siitä, millä tavalla kaksi jaetta liittyy toisiinsa.<br />
<br />
== Tägikone ==<br />
{{tuloslinkki}}<br />
<rcode label="Päivitä tietokantarakenne" variables="<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
<br />
jakeet <- opbase.data(paste("Op_fi4362", "Jakeet", sep = "."), 12748)<br />
jakeet$Versio <- 1<br />
temp <- jakeet[grep("^U", jakeet$JaeID),]<br />
temp <- jakeet[!(jakeet$Sivu %in% unique(as.character(temp$Sivu))),]<br />
temp$Versio <- 2<br />
jakeet$Versio[grep("^U", jakeet$JaeID)] <- 2<br />
jakeet$JaeID <- gsub("[A-Za-z]", "", as.character(jakeet$JaeID))<br />
jakeet <- rbind(jakeet, temp)<br />
jakeet$Aihe <- NA<br />
<br />
ymjakeet <- opbase.data("Op_fi4530.jakeet")<br />
ymspan <- 1:nrow(ymjakeet)<br />
ymjakeet <- ymjakeet[rep(ymspan, 2), ]<br />
ymjakeet$Versio <- 2<br />
ymjakeet$Versio[ymspan] <- 1<br />
<br />
jakeet <- rbind.fill(jakeet, ymjakeet)<br />
<br />
opbase.upload(<br />
jakeet[c("Versio", "Sivu", "Aihe", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeet"<br />
)<br />
<br />
jaepois <- opbase.data(paste("Op_fi4362", "Jakeenpoistot", sep = "."))<br />
#jaepois <- data.frame(<br />
# Versio = 0,<br />
# Sivu = NA, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
jaepois$Versio <- 1<br />
jaepois$Aika <- NA # date()<br />
jaepois$Käyttäjä <- NA # wiki_username<br />
jaepois$Versio[grep("^[Uu]", jaepois$Result)] <- 2<br />
temp <- jaepois[!(jaepois$Sivu %in% unique(jaepois$Sivu[jaepois$Versio == 2])), ]<br />
temp$Versio <- 2<br />
jaepois <- rbind(jaepois, temp)<br />
<br />
ymjaepois <- tryCatch(<br />
opbase.data("Op_fi4530.jakeenpoistot"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymjaepois)) {<br />
ymspan <- 1:nrow(ymjaepois)<br />
ymjaepois <- ymjaepois[rep(ymspan, 2), ]<br />
ymjaepois$Versio <- 2<br />
ymjaepois$Versio[ymspan] <- 1<br />
<br />
jaepois <- rbind.fill(jaepois, ymjaepois)<br />
}<br />
<br />
opbase.upload(<br />
jaepois[c("Versio", "Sivu", "Aika", "Käyttäjä", "Syy", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeenpoistot"<br />
)<br />
<br />
jaelisa <- opbase.data(paste("Op_fi4362", "jakeenlisays", sep = "."))<br />
#out <- data.frame( <br />
# Versio = 0,<br />
# Sivu = NA, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# JaeID = NA,<br />
# Result = "Alustus"<br />
#)<br />
jaelisa$Versio <- 1<br />
jaelisa$Aika <- NA # date()<br />
jaelisa$Käyttäjä <- NA # wiki_username<br />
temp <- jaelisa<br />
temp$Versio <- 2<br />
jaelisa <- rbind(jaelisa, temp)<br />
<br />
ymjaelisa <- tryCatch(<br />
opbase.data("Op_fi4530.jakeenlisaykset"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymjaelisa)) {<br />
ymspan <- 1:nrow(ymjaelisa)<br />
ymjaelisa <- ymjaelisa[rep(ymspan, 2), ]<br />
ymjaelisa$Versio <- 2<br />
ymjaelisa$Versio[ymspan] <- 1<br />
<br />
jaelisa <- rbind.fill(jaelisa, ymjaelisa)<br />
}<br />
<br />
opbase.upload(<br />
jaelisa[c("Versio", "Sivu", "Aika", "Käyttäjä", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeenlisaykset"<br />
)<br />
<br />
avainsanat <- opbase.data(paste("Op_fi4362", "avainsanat", sep = "."))<br />
<br />
#out <- data.frame(<br />
# AvainsanaID = NA, <br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Sivu = NA,<br />
# JaeID = NA, <br />
# Result = "Alustus"<br />
#)<br />
avainsanat$AvainsanaID <- 1:nrow(avainsanat)<br />
avainsanat$Versio <- 1<br />
avainsanat$JaeID <- avainsanat$Jae<br />
avainsanat$Result <- avainsanat$Avainsana<br />
temp <- avainsanat<br />
temp$Versio <- 2<br />
avainsanat <- rbind(avainsanat, temp)<br />
<br />
ymavainsanat <- tryCatch(<br />
opbase.data("Op_fi4530.avainsanat"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymavainsanat)) {<br />
ymavainsanat$AvainsanaID <- ymavainsanat$AvainsanaID + nrow(avainsanat)<br />
ymspan <- 1:nrow(ymavainsanat)<br />
ymavainsanat <- ymavainsanat[rep(ymspan, 2), ]<br />
ymavainsanat$Versio <- 2<br />
ymavainsanat$Versio[ymspan] <- 1<br />
<br />
avainsanat <- rbind.fill(avainsanat, ymavainsanat)<br />
}<br />
<br />
opbase.upload(<br />
avainsanat[c("AvainsanaID", "Versio", "Aika", "Käyttäjä", "Sivu", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Avainsanat"<br />
)<br />
<br />
# Tuli LVM tägikoneen päivityksen kanssa tämmönen ongelma vastaan: Edellisen tägikoneen relaatioiden <br />
# syöttökoodin takia jakeet on usein relaatiossa sen jakeen kanssa johon ne on sisällytetty (vastustaa/puolustaa/jne), <br />
# mikä ei käy järkeen koska relaatiot pätevät pääasiassa saman version sisällä toisin kuin sisällytys mikä tapahtuu <br />
# seuraavaan versioon. Sisällytys on ihan eri asia kuin relaatio, se on vaan samanmuotoinen kuin relaatio ja siksi <br />
# samassa taulussa, tai ainakin tää on mun tämänhetkinen tulkinta.<br />
<br />
# Ongelma on siis tän LVM tägäyksen kanssa siinä että relaatio ja sisällytys piti antaa samanaikaisesti<br />
<br />
rel <- opbase.data(paste("Op_fi4362", "relaatiot", sep = "."))<br />
<br />
#out <- data.frame(<br />
# RelaatioID = NA,<br />
# Versio = 0, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username, <br />
# Sivu1 = NA,<br />
# JaeID1 = NA,<br />
# Sivu2 = NA,<br />
# JaeID2 = NA,<br />
# Result = "Alustus"<br />
#)<br />
#rel$RelaatioID <- 1:nrow(rel)<br />
rel$Versio <- 1<br />
rel$Sivu1 <- rel$Sivu<br />
rel$JaeID1 <- rel$Jae<br />
rel$Sivu2 <- rel$Liittymäsivu<br />
rel$JaeID2 <- rel$Liittymäjae<br />
<br />
rel1 <- rel<br />
rel1$Result <- rel$Liittyminen<br />
temp1 <- rel1[grep("^[Uu]", rel1$JaeID2),]<br />
temp1$Versio <- 2<br />
rel1 <- rel1[-grep("^[Uu]", rel1$JaeID2),]<br />
relt <- rel1<br />
relt$Versio <- 2<br />
rel1 <- rbind(rel1, relt)<br />
rel1 <- rbind(rel1, temp1)<br />
<br />
rel2 <- rel<br />
rel2$Result <- rel$Sisällytys<br />
temp2 <- rel2[grep("^[Uu]", rel2$JaeID2),]<br />
temp2$JaeID2 <- gsub("^[Uu]", "", as.character(temp2$JaeID2))<br />
#temp2$Versio <- 1<br />
rel2 <- rel2[-grep("^[Uu]", rel2$JaeID2),]<br />
rel2 <- rbind(rel2, temp2)<br />
<br />
#rel1$RelaatioID <- 1:nrow(rel1)<br />
#rel2$RelaatioID <- 1:nrow(rel2)<br />
<br />
rel <- rbind(rel1, rel2)<br />
rel$JaeID1 <- gsub("^[Uu]", "", as.character(rel$JaeID1))<br />
rel$JaeID2 <- gsub("^[Uu]", "", as.character(rel$JaeID2))<br />
<br />
ymrel <- tryCatch(<br />
opbase.data("Op_fi4530.relaatiot"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymrel)) {<br />
ymspan <- 1:nrow(ymrel)<br />
ymrel <- ymrel[rep(ymspan, 2), ]<br />
ymrel$Versio <- 2<br />
ymrel$Versio[ymspan] <- 1<br />
<br />
rel <- rbind.fill(rel, ymrel)<br />
}<br />
<br />
rel$RelaatioID[rel$Versio == 1] <- 1:nrow(rel[rel$Versio == 1,])<br />
rel$RelaatioID[rel$Versio == 2] <- 1:nrow(rel[rel$Versio == 2,])<br />
<br />
opbase.upload(<br />
rel[c("Versio", "RelaatioID", "Aika", "Käyttäjä", "Sivu1", "JaeID1", "Sivu2", "JaeID2", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Relaatiot"<br />
)<br />
<br />
#out <- data.frame(<br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
<br />
out <- tryCatch(<br />
opbase.data(<br />
ident, <br />
subset = "relaationpoistot", <br />
),<br />
error = function(...) return(NULL)<br />
)<br />
ymout <- tryCatch(<br />
opbase.data("Op_fi4530.relaationpoistot"),<br />
error = function(...) return(NULL)<br />
)<br />
<br />
if (!is.null(ymout)) {<br />
ymout$Result <- ymout$Result + nrow(avainsanat)<br />
out <- rbind(out, ymout)<br />
}<br />
<br />
if (!is.null(out)) {<br />
opbase.upload(<br />
out, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
who = wiki_username<br />
)<br />
}<br />
<br />
<br />
#out <- data.frame(<br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
<br />
out <- tryCatch(<br />
opbase.data(ident, subset = "Avainsananpoistot", exclude = list(Sivu = "Ympäristöministeriön tulevaisuuskatsaus")),<br />
error = function(...) return(NULL)<br />
)<br />
ymout <- tryCatch(<br />
opbase.data("Op_fi4530.Avainsananpoistot"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymout)) {<br />
ymout$Result <- ymout$Result + nrow(avainsanat)<br />
out <- rbind(out, ymout)<br />
}<br />
<br />
if (!is.null(out)) {<br />
opbase.upload(<br />
out, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
who = wiki_username<br />
)<br />
}<br />
<br />
<br />
<br />
#opbase.upload(<br />
# out, <br />
# name = pagename, <br />
# subset = "Avainsananpoistot", <br />
# who = wiki_username<br />
#)<br />
</rcode><br />
=== Versiot ===<br />
<t2b name="Versiot" index="Versio,Sivu,Ident" unit="OldID"><br />
1|Liikenne ja viestintä palveluna|Op_fi4248|<br />
1|Liikenteen palvelumarkkinat|Op_fi4253|<br />
1|Liikenteen energiareformi|Op_fi4254|<br />
1|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
1|Monipuoliset sisällöt|Op_fi4256|<br />
1|Oma Painotus Teema I|Op_fi4257|<br />
1|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
1|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
1|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
1|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
1|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
1|Oma Painotus Teema II|Op_fi4262|<br />
1|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
1|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
1|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
1|Arktinen strategia|Op_fi4265|<br />
1|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
1|Oma Painotus Teema III|Op_fi4267|<br />
2|Liikenne ja viestintä palveluna|Op_fi4248|<br />
2|Liikenteen palvelumarkkinat|Op_fi4253|<br />
2|Liikenteen energiareformi|Op_fi4254|<br />
2|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
2|Monipuoliset sisällöt|Op_fi4256|<br />
2|Oma Painotus Teema I|Op_fi4257|<br />
2|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
2|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
2|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
2|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
2|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
2|Oma Painotus Teema II|Op_fi4262|<br />
2|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
2|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
2|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
2|Arktinen strategia|Op_fi4265|<br />
2|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
2|Oma Painotus Teema III|Op_fi4267|<br />
</t2b><br />
<br />
===Jakeet===<br />
'''Kaikkien kenttien arvot saa erotella pilkuilla tässä haussa'''<br />
<rcode label="Näytä jakeet" name="jakeet" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Jakeita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
<rcode label="Poista jae" name="jakeenpoisto" embed=1 variables="<br />
name:sivu|description:Poistettavan jakeen sivu|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Poistettavan jakeen ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Tekninen jae';Tekninen jae;<br />
'Jae ei liity sivun aiheeseen';Jae ei liity sivun aiheeseen;<br />
'Jae on häiriköintiä';Jae on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jaeid <- strsplit(jaeid, ",", fixed = TRUE)[[1]]<br />
jaeid <- gsub(" ", "", jaeid)<br />
<br />
if (sum(nchar(jaeid)) == 0) stop("Anna jakeen ID")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame(<br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = as.character(jaeid)<br />
)<br />
<br />
opbase.upload(<br />
out, <br />
who = wiki_username, <br />
name = pagename,<br />
subset = "Jakeenpoistot",<br />
act_type = "append", <br />
language = "fin"<br />
)<br />
</rcode><br />
<br />
<rcode label="Lisää jae" name="jakeenlisays" embed=1 variables="<br />
name:sivu|description:Sivu jolle jae lisätään|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:sisalto|description:Jakeen sisältö|type:textbox|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame( <br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
JaeID = NA,<br />
Result = sisalto<br />
)<br />
<br />
ident.subset <- paste(ident, "Jakeenlisaykset", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
filter$Sivu <- sivu<br />
<br />
upload_with_autoid(<br />
out,<br />
ident.subset,<br />
id_name = "JaeID",<br />
pagename = pagename,<br />
prefix = "L",<br />
filter = filter<br />
)<br />
</rcode><br />
<br />
=== Avainsanat ===<br />
<rcode label="Näytä avainsanat" name="avainsanat_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka avainsanoja haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
out <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<rcode label="Lisää avainsana" name="avainsanat" embed=1 variables="<br />
name:sivu|description:Minkä sivun jakeelle haluat lisätä avainsanoja?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Mikä on jakeen versio?|type:text|default:nykyinen|<br />
name:jae|description:Mikä on jakeen ID?|type:text|<br />
name:yl_avainsanat|description:Valitse alla olevasta listasta yleisiä avainsanoja.|type:checkbox|options:<br />
'Päätös';A Päätös (jae sisältää päätös- tai toimintaehdotuksen);<br />
'Vaikutus';B Vaikutus (jae kuvaa ilmiötä tai vaikutusta);<br />
'Arvo';C Arvo (jakeessa on arvoarvostelma tai kuvaa asian merkitystä);<br />
'Työn tekemiseen liittyvä';D Katsaustyön tekemiseen liittyvä;<br />
'Epäselvä luokka';E Ei mikään edellisistä (valitse ainakin yksi A-E)|<br />
name:avainsanat|description:Laita halutessasi yllä listaamattomattomia avainsanoja tähän pilkulla eroteltuna.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
avainsanat <- strsplit(avainsanat, ",", fixed = TRUE)[[1]]<br />
avainsanat <- gsub(" ", "", avainsanat)<br />
avainsanat <- avainsanat[nchar(avainsanat) > 0]<br />
avainsanat <- c(yl_avainsanat, avainsanat)<br />
if (length(avainsanat) == 0) stop("Yhtään avainsanaa ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
AvainsanaID = NA, <br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Sivu = sivu,<br />
JaeID = as.character(jae), <br />
Result = avainsanat<br />
)<br />
<br />
ident.subset <- paste(ident, "Avainsanat", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "AvainsanaID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Avainsanojen lisääminen onnistui.\n")<br />
</rcode><br />
<br />
<rcode name="avainsananpoisto" embed=1 label="Poista avainsana" showcode=0 variables="<br />
name:avid|description:Poistettavan avainsanan ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Avainsana ei päde uudessa versiossa';Avainsana ei päde uudessa versiossa;<br />
'Virheellinen avainsana';Virheellinen avainsana|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
avid <- strsplit(avid, ",", fixed = TRUE)[[1]]<br />
avid <- gsub(" ", "", avid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = avid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Avainsana poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Relaatiot ===<br />
<rcode label="Näytä relaatiot" name="relaatiot_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka relaatioita haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
out <- rbind(rel1, rel2)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(<br />
out, <br />
include.rownames = FALSE,<br />
caption = "Relaatiot", <br />
caption.placement = "top"<br />
)<br />
} else {<br />
cat("Relaatioita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
<rcode label="Lisää relaatio" name="relaatio" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:nykyinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID?|type:text|<br />
name:relaatio|description:'''Kuinka lähtöjae liittyy kohdejakeeseen?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'tukee tai on linjassa';tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';on neutraali suhteessa;<br />
'on uusi linjaus tai painotus';on uusi linjaus tai painotus;<br />
'kuuluu ryhmään/kokoelmaan';kuuluu ryhmään/kokoelmaan|<br />
name:lisarelaatio|description:VAPAAEHTOINEN Voit antaa oman jakeiden välisen relaation vapaakenttään.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
relaatio <- ifelse(lisarelaatio == '', relaatio, lisarelaatio)<br />
if (nchar(gsub(" ", "", relaatio)) == 0) stop("Relaatiota ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = relaatio<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Relaation lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
<rcode label="Lisää sisällytys" name="sisallytys" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:edellinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID (uudemmassa versiossa)?|type:text|<br />
name:sisallytys|description:'''Sisällytettiinkö ehdotus uudempaan versioon?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun;<br />
'ehdotus ei ole antanut aihetta muutoksiin';ehdotus ei ole antanut aihetta muutoksiin|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
if (nchar(gsub(" ", "", sisallytys)) == 0) stop("Sisällytyksen tyyppiä ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "edellinen") {<br />
version <- get_current_version(ident) - 1<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = sisallytys<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Sisällytyksen lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
<rcode name="relaationpoisto" embed=1 label="Poista relaatio" showcode=0 variables="<br />
name:relid|description:Poistettavan relaation ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Relaatio ei päde uudessa versiossa';Relaatio ei päde uudessa versiossa;<br />
'Virheellinen relaatio';Virheellinen relaatio|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
relid <- strsplit(relid, ",", fixed = TRUE)[[1]]<br />
relid <- gsub(" ", "", relid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = relid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Relaatio poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Kehittyneemmät hakukoneet ===<br />
'''Hae jakeita ja niihin liittyviä avainsanoja'''<br />
<rcode label="Hae" name="avainsanat_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) == 0) {<br />
stop("Jakeita ei löytynyt!")<br />
}<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
} else {<br />
colnames(tags)[colnames(tags) == "Result"] <- "Avainsana"<br />
out <- join(<br />
tags[c("Versio", "Sivu", "JaeID", "AvainsanaID", "Avainsana")],<br />
out[c("Versio", "Sivu", "JaeID", "Result")]<br />
)<br />
# Jos annettiin vain yksi versio ja/tai sivu niin niitä ei tarvitse printata<br />
filter_ind <- NULL<br />
if (length(version) != 1) filter_ind <- c(filter_ind, "Versio")<br />
if (length(sivu) != 1) filter_ind <- c(filter_ind, "Sivu")<br />
filter_ind <- c(filter_ind, "JaeID")<br />
oprint(out[c(filter_ind, "Result", "AvainsanaID", "Avainsana")], include.rownames = FALSE, show_all = TRUE)<br />
}<br />
</rcode><br />
<br />
'''Hae relaatioita ja niihin kuuluvia jakeita'''<br />
<rcode label="Hae" name="relaatiot_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta relaatioita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:liitsis|description:Liittymistyyppi (tyhjä = kaikki)|type:checkbox|options:<br />
'tukee tai on linjassa';Tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';Vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';On neutraali suhteessa;<br />
'on uusi linjaus tai painotus';On uusi linjaus tai painotus;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';Ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';Ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin';Ehdotus ei ole antanut aihetta muutoksiin;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';Ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
# Eri sisältymistyypit pitää määritellä niin että ne voidaan käsitellä erillään muista relaatioista<br />
sis_opt <- c(<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu',<br />
'ehdotus huomioitu ja uusi kohta lisätty',<br />
'ehdotus ei ole antanut aihetta muutoksiin', <br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun'<br />
)<br />
#liit_opt <- c(<br />
# 'tukee tai on linjassa',<br />
# 'vastustaa tai on ristiriidassa',<br />
# 'on neutraali suhteessa',<br />
# 'on uusi linjaus tai painotus'<br />
#)<br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (!is.null(liitsis)) rel <- rel[rel$Result %in% liitsis, ]<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = unique(c(<br />
as.character(rel$Sivu1), <br />
as.character(rel$Sivu2)<br />
)), <br />
versio = version, <br />
jae = unique(c(<br />
as.character(rel$JaeID1), <br />
as.character(rel$JaeID2)<br />
))<br />
)<br />
if (nrow(jakeet) == 0) stop("Relaatioissa listattuja jakeita ei löytynyt!")<br />
<br />
# Relaatiot<br />
if (nrow(rel[!(rel$Relaatio %in% sis_opt),]) > 0) {<br />
jakeet <- jakeet[c("Versio", "Sivu", "JaeID", "Result")]<br />
colnames(jakeet)[colnames(jakeet) == "JaeID"] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu"] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Jae1"<br />
rel <- rel[c("RelaatioID", "Versio", "Sivu1", "JaeID1", "Result", "Sivu2", "JaeID2")]<br />
colnames(rel)[colnames(rel) == "Result"] <- "Relaatio"<br />
out <- join(<br />
rel[(!(rel$Relaatio %in% sis_opt)) & rel$Versio %in% original_version,], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei relaatioita!\n")<br />
}<br />
<br />
# Sisällytykset<br />
if (nrow(rel[(rel$Relaatio %in% sis_opt),]) > 0) {<br />
colnames(jakeet)[colnames(jakeet) %in% c("JaeID","JaeID2")] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Sivu", "Sivu2")] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Result", "Jae2")] <- "Jae1"<br />
colnames(rel)[colnames(rel) == "Relaatio"] <- "Sisällytys"<br />
out <- join(<br />
rel[rel$Sisällytys %in% sis_opt & rel$Versio %in% version[-length(version)],], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
jakeet$Versio <- as.numeric(as.character(jakeet$Versio)) - 1<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Sisällytys", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Sisällytys (uudempaan versioon)", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei sisällytyksiä!\n")<br />
}<br />
}<br />
</rcode><br />
<br />
===Analyysi===<br />
'''Tässä voit hakea jakeita ja analysoida niiden määriä hakemalla yhdellä tai useammalla avainsanalla. '''<br />
<br />
Käytetyt avainsanat:<br />
{{piilotettu|<br />
3D-tulostus Aikataulut Ajoneuvokanta Alueellisuus <br />
alustus Ammattiryhmät Arvo Asutus <br />
Aurinko Automatisaatio Avoimuus Big Data <br />
Biopolttoaine Dataliikenne Digitalisoituminen Eettisyys <br />
eIDAS Elintaso Energia Epäselvä luokka <br />
Eriarvoisuus Erityisryhmät Esineiden internet Globaalius <br />
Globaaluis Henkilökortti Henkilötiedot Huutokauppa <br />
Hybridi Hybridi-TV Hyvinvointi Hyvinvointiyhteiskunta <br />
Häiriöt Ilmasto Infrastruktuuri Innovatiivisus <br />
Innovatiivisuus Internet Investoinnit Joukkoliikenne <br />
Joustavuus Julkinen valta Kaivosteollisuus Kansainvälisyys <br />
Kasvihuonekaasut Kaupallisuus Kaupungit Kehitys <br />
Kestävyys Kevyen liikenteen väylät Kevytliikenne Kiinteistöt <br />
Kilpailu Kilpailukyky Konesalit Konkreettisuus <br />
Kotimaisuus Koulutus Kunnat Kustannustehokkuus <br />
Kuuluvuus Kävely Laajakaista Lainsäädäntö <br />
Laiton tarjonta Langattomuus Lappi Lentoliikenne <br />
Liikenne Liikenneverkostot Liikkumistili Linja-autot <br />
Logistiikka Luonnonsuojelu Lämmitys Maakaasu <br />
Maatalous Mainonta Markkinat Massavalvonta <br />
Meriliikenne Metadata Mobiiliverkko Mopot <br />
Nopeus Ohjaus Ohjelmistot Ohjelmistotoimittaja <br />
Oikeusturva Omavaraisuus Operaattori Osaaminen <br />
Ostovoima Palaute Palvelut Palvelutaso <br />
Peruskunto Pilvipalvelut Polttoaine Posti <br />
Puelueettomuus Pysäköinti Pyöräily Päivitys <br />
Pääkaupunkiseutu Päästöt Päätöksenteko Päätös <br />
Raha Rahoitus Rahtliikenne Rajapinnat <br />
Rakennemuutos Rakentaminen Raskas liikenne Rautatiet <br />
Riippuvuus Rikokset Robotisaatio Ruuhkamaksu <br />
Ruuhkautuminen Saatavuus Sateliittipaikannus Sovellukset <br />
Strategia Suunnittelu Sähkö Sähköauto <br />
Sääntely Säästöt Talous Talouskasvu <br />
Tarpeet Tasa-arvo Tasapuolisuus Tasavertaisuus <br />
Tavaraliikenne Tehokkuus Tekijänoikeus Tekniikkaneutraalius <br />
Tekninen tuki Teknologia Teknologianeutraalius Teollisuus <br />
Terveydenhuolto Terveys testi Tiedon avoimuus <br />
Tiedon hallinnointi Tiedon hallinta Tiedon hyödyntäminen Tieliikenne <br />
Tietoliikenne Tietoturva Toimilupa Toiminta <br />
Toimintavarmuus Toimivuus Tuki Turvallisuus <br />
Turvaverkko Tutkimus Tuuli TV <br />
Työllisyys Työn tekemiseen liittyvä Ulkomaat Uudistus <br />
Vaihtoehtoiset polttoaineet Vaikuttaminen Vaikutus Vakuutus <br />
Valinnanvapaus Valtio Varmenne Varmuus <br />
Vastuu Verkostoituminen Verotus Vesiliikenne <br />
Vesiliikenne, Tasavertaisuus Viestintäverkot Viranomaiset Yhteensopivuus <br />
Yhteiskunta Yhteiskuntamurros Yhteistyö Yhteysnopeus <br />
Yksityisautoilu Yksityisyydensuoja YLE Yleispalvelu <br />
Yleisradio Ympäristö Yritykset Öljy <br />
}}<br />
<br />
<rcode label="Näytä jakeita/tilastoja" name="jae_stats" embed=1 graphics=1 variables="<br />
name:sivu|description:Minkä sivun jakeita haluat tarkastella?|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:avainsanat|description:Hae jakeita joilla on ainakin yksi seuraavista avainsanoista|type:text|<br />
name:avainsanat_all|description:Hae jakeita joilla on kaikki seuraavat avainsanat|type:text|<br />
name:jaelista|description:Haluatko nähdä kaikki löydetyt jakeet?|type:selection|options:FALSE;En;TRUE;Kyllä|default:FALSE|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
library(ggplot2)<br />
<br />
filter <- list()<br />
if (nchar(gsub(" ", "", avainsanat)) > 0) {<br />
avainsanat <- strsplit(avainsanat, ",")[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat) <br />
} else {<br />
avainsanat <- NULL<br />
}<br />
if (nchar(gsub(" ", "", avainsanat_all)) > 0) {<br />
avainsanat_all <- strsplit(avainsanat_all, ",")[[1]]<br />
avainsanat_all <- gsub("^\\s*|\\s*$", "", avainsanat_all)<br />
#filter$Avainsana <- avainsanat_all<br />
} else {<br />
avainsanat_all <- NULL<br />
}<br />
filter$Sivu <- sivu<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
filter$Versio <- version<br />
<br />
if (length(filter) == 0) filter <- NULL<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
jaeid <- NULL<br />
<br />
if (!is.null(avainsanat)|!is.null(avainsanat_all)) {<br />
tags <- tags[tags$Result %in% c(avainsanat, avainsanat_all), ]<br />
jaeid <- unique(as.character(tags$JaeID))<br />
}<br />
<br />
if(!is.null(avainsanat_all)) {<br />
temp <- list()<br />
for (i in 1:nrow(jaeid)) {<br />
temp[[i]] <- avainsanat_all %in% tags$Result[tags$JaeID == jaeid[i]]<br />
}<br />
temp <- lapply(temp, all)<br />
jaeid <- jaeid[temp]<br />
tags <- tags[tags$JaeID %in% jaeid,]<br />
}<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt.\n")<br />
}<br />
<br />
if (is.null(filter)) {<br />
filter2 <- list()<br />
} else {<br />
filter2 <- filter<br />
}<br />
<br />
filter2$JaeID <- jaeid<br />
<br />
if (length(filter2) == 0) filter2 <- NULL<br />
<br />
if (jaelista) {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = filter2$Sivu, # *list$non-existent returns NULL<br />
versio = filter2$Versio, <br />
jae = filter2$JaeID<br />
)<br />
if (nrow(jakeet) == 0) {<br />
cat("Avainsanoissa listattuja jakeita ei löytynyt.\n")<br />
} else {<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Sisältö"<br />
tagged <- NULL<br />
if (nrow(tags) > 0) {<br />
#tagged <- join(<br />
# jakeet[c("Versio", "Sivu", "Aihe", "JaeID")], <br />
# tags[c("Versio", "Sivu", "JaeID", "Result")]<br />
#)<br />
#colnames(tagged)[colnames(tagged) == "Result"] <- "Avainsana"<br />
tagged <- tapply(tags$Result, tags[c("Versio", "Sivu", "JaeID")], paste, collapse = ", ")<br />
tagged <- as.data.frame(as.table(tagged))<br />
colnames(tagged)[colnames(tagged) == "Freq"] <- "Avainsanat"<br />
tagged <- join(<br />
jakeet[c("Versio", "Sivu", "JaeID", "Sisältö")], <br />
tagged[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
type = "inner",<br />
match = "first"<br />
)<br />
oprint(<br />
tagged[c("Versio", "Sivu", "JaeID", "Sisältö", "Avainsanat")],<br />
caption = "Jakeet", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = rep(0, 6)<br />
)<br />
}<br />
}<br />
}<br />
<br />
if (nrow(tags) > 0) {<br />
tags_out <- ddply(tags, "Result", nrow)<br />
colnames(tags_out) <- c("Avainsana", "Lukumäärä")<br />
tags_out <- tags_out[order(tags_out$Lukumäärä, decreasing = TRUE),]<br />
oprint(<br />
tags_out,<br />
caption = "Avainsanojen lukumäärät", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = c(0, 0, 0)<br />
)<br />
ggplot(tags_out, aes(x = Avainsana, y = Lukumäärä, fill = Avainsana)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Avainsanojen frekvenssit")<br />
}<br />
<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter3 <- list()<br />
filter3$Sivu1 <- sivu<br />
filter3$Versio <- version<br />
filter3$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter3$JaeID1 <- NULL<br />
filter3$Sivu1 <- NULL<br />
filter3$JaeID2 <- jaeid<br />
filter3$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
related <- rel[<br />
rel$Result %in% c(<br />
"on neutraali suhteessa", <br />
"on uusi linjaus tai painotus", <br />
"tukee tai on linjassa", <br />
"vastustaa tai on ristiriidassa"<br />
), ]<br />
related$Result <- as.character(related$Result)<br />
affected <- rel[<br />
rel$Result %in% c(<br />
"ehdotus ei ole antanut aihetta muutoksiin",<br />
"ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun", <br />
"ehdotus huomioitu ja liittyvää painotusta muutettu",<br />
"ehdotus huomioitu ja uusi kohta lisätty"<br />
), ]<br />
affected$Result <- as.character(affected$Result)<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin"] <- "Ei aihetta muutoksiin"<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun"] <- "Sisältyy valmiiksi"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja liittyvää painotusta muutettu"] <- "Huomioitu painotuksella"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja uusi kohta lisätty"] <- "Huomioitu lisäyksellä"<br />
<br />
related_out <- ddply(related, "Result", nrow)<br />
colnames(related_out) <- c("Relaatio", "Lukumäärä")<br />
<br />
affected_out <- ddply(affected, "Result", nrow)<br />
colnames(affected_out) <- c("Sisällytys", "Lukumäärä")<br />
}<br />
<br />
if (nrow(related_out > 0)) {<br />
ggplot(related_out, aes(x = Relaatio, y = Lukumäärä, fill = Relaatio)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Relaatioiden frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
<br />
if (nrow(affected_out > 0)) {<br />
ggplot(affected_out, aes(x = Sisällytys, y = Lukumäärä, fill = Sisällytys)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Sisällytyksen frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
</rcode><br />
=== Sulautus ===<br />
{{tuloslinkki}}<br />
<rcode label="Etsi sulautuksia" name="sulautus" embed=0 variables="<br />
name:sivu|description:Sivut joihin sulautus tehdään (kaikista edellisen version jakeista)|type:checkbox|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:toleranssi|description:Toleranssi (Levenshtein distance)|default:5|<br />
name:tallenna|description:Tallenna kantaan|type:selection|options:TRUE;Kyllä;FALSE;Ei|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
mdat <- get_meta_data(ident)<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
version <- c(version - 1, version)<br />
<br />
jakeet <- jaehakukone(ident, versio = version)<br />
<br />
ver1 <- jakeet[jakeet$Versio == version[1],]<br />
ver2 <- jakeet[jakeet$Versio == version[2] & jakeet$Sivu == sivu,]<br />
<br />
# adist too slow<br />
d <- adist(<br />
ver1$Result, <br />
ver2$Result,<br />
fixed = FALSE<br />
)<br />
d[is.na(d)] <- Inf<br />
#d_min <- apply(d, 1, min)<br />
#d_tol <- d <= toleranssi<br />
#d_out <- apply(d, 1, which.min)<br />
<br />
colnames(ver1)[colnames(ver1) == "Versio"] <- "Versio1"<br />
colnames(ver1)[colnames(ver1) == "Sivu"] <- "Sivu1"<br />
colnames(ver1)[colnames(ver1) == "JaeID"] <- "JaeID1"<br />
colnames(ver1)[colnames(ver1) == "Result"] <- "Result1"<br />
<br />
colnames(ver2)[colnames(ver2) == "Versio"] <- "Versio2"<br />
colnames(ver2)[colnames(ver2) == "Sivu"] <- "Sivu2"<br />
colnames(ver2)[colnames(ver2) == "JaeID"] <- "JaeID2"<br />
colnames(ver2)[colnames(ver2) == "Result"] <- "Result2"<br />
<br />
#out <- cbind(ver1[d_min <= toleranssi, ], ver2[d_out[d_min <= toleranssi], ])<br />
<br />
d <- alply(d, 1, I)<br />
d_tol <- llply(d, function(x) {x <= toleranssi})<br />
d_reps <- laply(d_tol, sum)<br />
d_w <- llply(d_tol, which)<br />
d_w <- unlist(d_w)<br />
<br />
out <- cbind(ver1[rep(1:nrow(ver1), d_reps),], ver2[d_w, ])<br />
<br />
#d <- NULL<br />
#n <- NULL<br />
#for (i in 1:nrow(ver1)) {<br />
# for (j in split(ver2$Result, ceiling((1:nrow(ver2)) / 100))) {<br />
# temp <- agrep(ver1$Result[i], j, toleranssi)<br />
# d <- append(d, temp)<br />
# n <- append(n, length(temp))<br />
# }<br />
#}<br />
<br />
#out <- cbind(<br />
# ver1[rep(1:nrow(ver1), n),],<br />
# ver2[d,]<br />
#)<br />
if (tallenna) {<br />
opbase.upload(<br />
out,<br />
name = pagename,<br />
who = wiki_username,<br />
subset = "Sulautukset"<br />
)<br />
} else { <br />
oprint(<br />
out, <br />
include.rownames = FALSE, <br />
digits = rep(0, ncol(out) + 1), <br />
caption("Sulautus uuteen versioon"), <br />
caption.placement = "top",<br />
show.all = TRUE<br />
)<br />
}<br />
</rcode></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Liikenne_ja_viestint%C3%A4_digitaalisessa_Suomessa_2020/Sis%C3%A4ll%C3%B6nanalyysi&diff=25118
Liikenne ja viestintä digitaalisessa Suomessa 2020/Sisällönanalyysi
2014-07-28T11:54:43Z
<p>Teemu R: /* Tägikone */</p>
<hr />
<div>{{LVM}}<br />
<br />
'''Tällä sivulla voit tarkastella liikenneministeriön tulevaisuuskatsauksen sisältöä ja kansalaisten antamien kommenttien suhdetta siihen. <br />
Alla olevilla työkaluilla voit hakea tekstin jakeita eli erillisiä tekstikappaleita ja niihin liittyviä avainsanoja tai muita jakeita. Relaatiot tarkoittavat kuvailua siitä, millä tavalla kaksi jaetta liittyy toisiinsa.<br />
<br />
== Tägikone ==<br />
{{tuloslinkki}}<br />
<rcode label="Päivitä tietokantarakenne" variables="<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
<br />
jakeet <- opbase.data(paste("Op_fi4362", "Jakeet", sep = "."), 12748)<br />
jakeet$Versio <- 1<br />
temp <- jakeet[grep("^U", jakeet$JaeID),]<br />
temp <- jakeet[!(jakeet$Sivu %in% unique(as.character(temp$Sivu))),]<br />
temp$Versio <- 2<br />
jakeet$Versio[grep("^U", jakeet$JaeID)] <- 2<br />
jakeet$JaeID <- gsub("[A-Za-z]", "", as.character(jakeet$JaeID))<br />
jakeet <- rbind(jakeet, temp)<br />
jakeet$Aihe <- NA<br />
<br />
ymjakeet <- opbase.data("Op_fi4530.jakeet")<br />
ymspan <- 1:nrow(ymjakeet)<br />
ymjakeet <- ymjakeet[rep(ymspan, 2), ]<br />
ymjakeet$Versio <- 2<br />
ymjakeet$Versio[ymspan] <- 1<br />
<br />
jakeet <- rbind.fill(jakeet, ymjakeet)<br />
<br />
opbase.upload(<br />
jakeet[c("Versio", "Sivu", "Aihe", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeet"<br />
)<br />
<br />
jaepois <- opbase.data(paste("Op_fi4362", "Jakeenpoistot", sep = "."))<br />
#jaepois <- data.frame(<br />
# Versio = 0,<br />
# Sivu = NA, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
jaepois$Versio <- 1<br />
jaepois$Aika <- NA # date()<br />
jaepois$Käyttäjä <- NA # wiki_username<br />
jaepois$Versio[grep("^[Uu]", jaepois$Result)] <- 2<br />
temp <- jaepois[!(jaepois$Sivu %in% unique(jaepois$Sivu[jaepois$Versio == 2])), ]<br />
temp$Versio <- 2<br />
jaepois <- rbind(jaepois, temp)<br />
<br />
ymjaepois <- tryCatch(<br />
opbase.data("Op_fi4530.jakeenpoistot"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymjaepois)) {<br />
ymspan <- 1:nrow(ymjaepois)<br />
ymjaepois <- ymjaepois[rep(ymspan, 2), ]<br />
ymjaepois$Versio <- 2<br />
ymjaepois$Versio[ymspan] <- 1<br />
<br />
jaepois <- rbind.fill(jaepois, ymjaepois)<br />
}<br />
<br />
opbase.upload(<br />
jaepois[c("Versio", "Sivu", "Aika", "Käyttäjä", "Syy", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeenpoistot"<br />
)<br />
<br />
jaelisa <- opbase.data(paste("Op_fi4362", "jakeenlisays", sep = "."))<br />
#out <- data.frame( <br />
# Versio = 0,<br />
# Sivu = NA, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# JaeID = NA,<br />
# Result = "Alustus"<br />
#)<br />
jaelisa$Versio <- 1<br />
jaelisa$Aika <- NA # date()<br />
jaelisa$Käyttäjä <- NA # wiki_username<br />
temp <- jaelisa<br />
temp$Versio <- 2<br />
jaelisa <- rbind(jaelisa, temp)<br />
<br />
ymjaelisa <- tryCatch(<br />
opbase.data("Op_fi4530.jakeenlisaykset"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymjaelisa)) {<br />
ymspan <- 1:nrow(ymjaelisa)<br />
ymjaelisa <- ymjaelisa[rep(ymspan, 2), ]<br />
ymjaelisa$Versio <- 2<br />
ymjaelisa$Versio[ymspan] <- 1<br />
<br />
jaelisa <- rbind.fill(jaelisa, ymjaelisa)<br />
}<br />
<br />
opbase.upload(<br />
jaelisa[c("Versio", "Sivu", "Aika", "Käyttäjä", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeenlisaykset"<br />
)<br />
<br />
avainsanat <- opbase.data(paste("Op_fi4362", "avainsanat", sep = "."))<br />
<br />
#out <- data.frame(<br />
# AvainsanaID = NA, <br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Sivu = NA,<br />
# JaeID = NA, <br />
# Result = "Alustus"<br />
#)<br />
avainsanat$AvainsanaID <- 1:nrow(avainsanat)<br />
avainsanat$Versio <- 1<br />
avainsanat$JaeID <- avainsanat$Jae<br />
avainsanat$Result <- avainsanat$Avainsana<br />
temp <- avainsanat<br />
temp$Versio <- 2<br />
avainsanat <- rbind(avainsanat, temp)<br />
<br />
ymavainsanat <- tryCatch(<br />
opbase.data("Op_fi4530.avainsanat"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymavainsanat)) {<br />
ymavainsanat$AvainsanaID <- ymavainsanat$AvainsanaID + nrow(avainsanat)<br />
ymspan <- 1:nrow(ymavainsanat)<br />
ymavainsanat <- ymavainsanat[rep(ymspan, 2), ]<br />
ymavainsanat$Versio <- 2<br />
ymavainsanat$Versio[ymspan] <- 1<br />
<br />
avainsanat <- rbind.fill(avainsanat, ymavainsanat)<br />
}<br />
<br />
opbase.upload(<br />
avainsanat[c("AvainsanaID", "Versio", "Aika", "Käyttäjä", "Sivu", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Avainsanat"<br />
)<br />
<br />
# Tuli LVM tägikoneen päivityksen kanssa tämmönen ongelma vastaan: Edellisen tägikoneen relaatioiden <br />
# syöttökoodin takia jakeet on usein relaatiossa sen jakeen kanssa johon ne on sisällytetty (vastustaa/puolustaa/jne), <br />
# mikä ei käy järkeen koska relaatiot pätevät pääasiassa saman version sisällä toisin kuin sisällytys mikä tapahtuu <br />
# seuraavaan versioon. Sisällytys on ihan eri asia kuin relaatio, se on vaan samanmuotoinen kuin relaatio ja siksi <br />
# samassa taulussa, tai ainakin tää on mun tämänhetkinen tulkinta.<br />
<br />
# Ongelma on siis tän LVM tägäyksen kanssa siinä että relaatio ja sisällytys piti antaa samanaikaisesti<br />
<br />
rel <- opbase.data(paste("Op_fi4362", "relaatiot", sep = "."))<br />
<br />
#out <- data.frame(<br />
# RelaatioID = NA,<br />
# Versio = 0, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username, <br />
# Sivu1 = NA,<br />
# JaeID1 = NA,<br />
# Sivu2 = NA,<br />
# JaeID2 = NA,<br />
# Result = "Alustus"<br />
#)<br />
#rel$RelaatioID <- 1:nrow(rel)<br />
rel$Versio <- 1<br />
rel$Sivu1 <- rel$Sivu<br />
rel$JaeID1 <- rel$Jae<br />
rel$Sivu2 <- rel$Liittymäsivu<br />
rel$JaeID2 <- rel$Liittymäjae<br />
<br />
rel1 <- rel<br />
rel1$Result <- rel$Liittyminen<br />
temp1 <- rel1[grep("^[Uu]", rel1$JaeID2),]<br />
temp1$Versio <- 2<br />
rel1 <- rel1[-grep("^[Uu]", rel1$JaeID2),]<br />
relt <- rel1<br />
relt$Versio <- 2<br />
rel1 <- rbind(rel1, relt)<br />
rel1 <- rbind(rel1, temp1)<br />
<br />
rel2 <- rel<br />
rel2$Result <- rel$Sisällytys<br />
temp2 <- rel2[grep("^[Uu]", rel2$JaeID2),]<br />
temp2$JaeID2 <- gsub("^[Uu]", "", as.character(temp2$JaeID2))<br />
#temp2$Versio <- 1<br />
rel2 <- rel2[-grep("^[Uu]", rel2$JaeID2),]<br />
rel2 <- rbind(rel2, temp2)<br />
<br />
#rel1$RelaatioID <- 1:nrow(rel1)<br />
#rel2$RelaatioID <- 1:nrow(rel2)<br />
<br />
rel <- rbind(rel1, rel2)<br />
rel$JaeID1 <- gsub("^[Uu]", "", as.character(rel$JaeID1))<br />
rel$JaeID2 <- gsub("^[Uu]", "", as.character(rel$JaeID2))<br />
<br />
ymrel <- tryCatch(<br />
opbase.data("Op_fi4530.relaatiot"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymrel)) {<br />
ymspan <- 1:nrow(ymrel)<br />
ymrel <- ymrel[rep(ymspan, 2), ]<br />
ymrel$Versio <- 2<br />
ymrel$Versio[ymspan] <- 1<br />
<br />
rel <- rbind.fill(rel, ymrel)<br />
}<br />
<br />
rel$RelaatioID[rel$Versio == 1] <- 1:nrow(rel[rel$Versio == 1,])<br />
rel$RelaatioID[rel$Versio == 2] <- 1:nrow(rel[rel$Versio == 2,])<br />
<br />
opbase.upload(<br />
rel[c("Versio", "RelaatioID", "Aika", "Käyttäjä", "Sivu1", "JaeID1", "Sivu2", "JaeID2", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Relaatiot"<br />
)<br />
<br />
#out <- data.frame(<br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
<br />
out <- tryCatch(<br />
opbase.data(<br />
ident, <br />
subset = "relaationpoistot", <br />
),<br />
error = function(...) return(NULL)<br />
)<br />
ymout <- tryCatch(<br />
opbase.data("Op_fi4530.relaationpoistot"),<br />
error = function(...) return(NULL)<br />
)<br />
<br />
out <- rbind(out, ymout)<br />
<br />
if (!is.null(out)) {<br />
opbase.upload(<br />
out, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
who = wiki_username<br />
)<br />
}<br />
<br />
<br />
#out <- data.frame(<br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
<br />
out <- tryCatch(<br />
opbase.data(ident, subset = "Avainsananpoistot", exclude = list(Sivu = "Ympäristöministeriön tulevaisuuskatsaus")),<br />
error = function(...) return(NULL)<br />
)<br />
ymout <- tryCatch(<br />
opbase.data("Op_fi4530.Avainsananpoistot"),<br />
error = function(...) return(NULL)<br />
)<br />
<br />
out <- rbind(out, ymout)<br />
<br />
if (!is.null(out)) {<br />
opbase.upload(<br />
out, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
who = wiki_username<br />
)<br />
}<br />
<br />
<br />
<br />
#opbase.upload(<br />
# out, <br />
# name = pagename, <br />
# subset = "Avainsananpoistot", <br />
# who = wiki_username<br />
#)<br />
</rcode><br />
=== Versiot ===<br />
<t2b name="Versiot" index="Versio,Sivu,Ident" unit="OldID"><br />
1|Liikenne ja viestintä palveluna|Op_fi4248|<br />
1|Liikenteen palvelumarkkinat|Op_fi4253|<br />
1|Liikenteen energiareformi|Op_fi4254|<br />
1|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
1|Monipuoliset sisällöt|Op_fi4256|<br />
1|Oma Painotus Teema I|Op_fi4257|<br />
1|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
1|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
1|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
1|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
1|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
1|Oma Painotus Teema II|Op_fi4262|<br />
1|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
1|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
1|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
1|Arktinen strategia|Op_fi4265|<br />
1|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
1|Oma Painotus Teema III|Op_fi4267|<br />
2|Liikenne ja viestintä palveluna|Op_fi4248|<br />
2|Liikenteen palvelumarkkinat|Op_fi4253|<br />
2|Liikenteen energiareformi|Op_fi4254|<br />
2|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
2|Monipuoliset sisällöt|Op_fi4256|<br />
2|Oma Painotus Teema I|Op_fi4257|<br />
2|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
2|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
2|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
2|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
2|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
2|Oma Painotus Teema II|Op_fi4262|<br />
2|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
2|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
2|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
2|Arktinen strategia|Op_fi4265|<br />
2|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
2|Oma Painotus Teema III|Op_fi4267|<br />
</t2b><br />
<br />
===Jakeet===<br />
'''Kaikkien kenttien arvot saa erotella pilkuilla tässä haussa'''<br />
<rcode label="Näytä jakeet" name="jakeet" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Jakeita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
<rcode label="Poista jae" name="jakeenpoisto" embed=1 variables="<br />
name:sivu|description:Poistettavan jakeen sivu|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Poistettavan jakeen ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Tekninen jae';Tekninen jae;<br />
'Jae ei liity sivun aiheeseen';Jae ei liity sivun aiheeseen;<br />
'Jae on häiriköintiä';Jae on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jaeid <- strsplit(jaeid, ",", fixed = TRUE)[[1]]<br />
jaeid <- gsub(" ", "", jaeid)<br />
<br />
if (sum(nchar(jaeid)) == 0) stop("Anna jakeen ID")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame(<br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = as.character(jaeid)<br />
)<br />
<br />
opbase.upload(<br />
out, <br />
who = wiki_username, <br />
name = pagename,<br />
subset = "Jakeenpoistot",<br />
act_type = "append", <br />
language = "fin"<br />
)<br />
</rcode><br />
<br />
<rcode label="Lisää jae" name="jakeenlisays" embed=1 variables="<br />
name:sivu|description:Sivu jolle jae lisätään|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:sisalto|description:Jakeen sisältö|type:textbox|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame( <br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
JaeID = NA,<br />
Result = sisalto<br />
)<br />
<br />
ident.subset <- paste(ident, "Jakeenlisaykset", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
filter$Sivu <- sivu<br />
<br />
upload_with_autoid(<br />
out,<br />
ident.subset,<br />
id_name = "JaeID",<br />
pagename = pagename,<br />
prefix = "L",<br />
filter = filter<br />
)<br />
</rcode><br />
<br />
=== Avainsanat ===<br />
<rcode label="Näytä avainsanat" name="avainsanat_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka avainsanoja haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
out <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<rcode label="Lisää avainsana" name="avainsanat" embed=1 variables="<br />
name:sivu|description:Minkä sivun jakeelle haluat lisätä avainsanoja?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Mikä on jakeen versio?|type:text|default:nykyinen|<br />
name:jae|description:Mikä on jakeen ID?|type:text|<br />
name:yl_avainsanat|description:Valitse alla olevasta listasta yleisiä avainsanoja.|type:checkbox|options:<br />
'Päätös';A Päätös (jae sisältää päätös- tai toimintaehdotuksen);<br />
'Vaikutus';B Vaikutus (jae kuvaa ilmiötä tai vaikutusta);<br />
'Arvo';C Arvo (jakeessa on arvoarvostelma tai kuvaa asian merkitystä);<br />
'Työn tekemiseen liittyvä';D Katsaustyön tekemiseen liittyvä;<br />
'Epäselvä luokka';E Ei mikään edellisistä (valitse ainakin yksi A-E)|<br />
name:avainsanat|description:Laita halutessasi yllä listaamattomattomia avainsanoja tähän pilkulla eroteltuna.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
avainsanat <- strsplit(avainsanat, ",", fixed = TRUE)[[1]]<br />
avainsanat <- gsub(" ", "", avainsanat)<br />
avainsanat <- avainsanat[nchar(avainsanat) > 0]<br />
avainsanat <- c(yl_avainsanat, avainsanat)<br />
if (length(avainsanat) == 0) stop("Yhtään avainsanaa ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
AvainsanaID = NA, <br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Sivu = sivu,<br />
JaeID = as.character(jae), <br />
Result = avainsanat<br />
)<br />
<br />
ident.subset <- paste(ident, "Avainsanat", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "AvainsanaID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Avainsanojen lisääminen onnistui.\n")<br />
</rcode><br />
<br />
<rcode name="avainsananpoisto" embed=1 label="Poista avainsana" showcode=0 variables="<br />
name:avid|description:Poistettavan avainsanan ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Avainsana ei päde uudessa versiossa';Avainsana ei päde uudessa versiossa;<br />
'Virheellinen avainsana';Virheellinen avainsana|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
avid <- strsplit(avid, ",", fixed = TRUE)[[1]]<br />
avid <- gsub(" ", "", avid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = avid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Avainsana poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Relaatiot ===<br />
<rcode label="Näytä relaatiot" name="relaatiot_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka relaatioita haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
out <- rbind(rel1, rel2)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(<br />
out, <br />
include.rownames = FALSE,<br />
caption = "Relaatiot", <br />
caption.placement = "top"<br />
)<br />
} else {<br />
cat("Relaatioita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
<rcode label="Lisää relaatio" name="relaatio" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:nykyinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID?|type:text|<br />
name:relaatio|description:'''Kuinka lähtöjae liittyy kohdejakeeseen?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'tukee tai on linjassa';tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';on neutraali suhteessa;<br />
'on uusi linjaus tai painotus';on uusi linjaus tai painotus;<br />
'kuuluu ryhmään/kokoelmaan';kuuluu ryhmään/kokoelmaan|<br />
name:lisarelaatio|description:VAPAAEHTOINEN Voit antaa oman jakeiden välisen relaation vapaakenttään.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
relaatio <- ifelse(lisarelaatio == '', relaatio, lisarelaatio)<br />
if (nchar(gsub(" ", "", relaatio)) == 0) stop("Relaatiota ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = relaatio<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Relaation lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
<rcode label="Lisää sisällytys" name="sisallytys" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:edellinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID (uudemmassa versiossa)?|type:text|<br />
name:sisallytys|description:'''Sisällytettiinkö ehdotus uudempaan versioon?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun;<br />
'ehdotus ei ole antanut aihetta muutoksiin';ehdotus ei ole antanut aihetta muutoksiin|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
if (nchar(gsub(" ", "", sisallytys)) == 0) stop("Sisällytyksen tyyppiä ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "edellinen") {<br />
version <- get_current_version(ident) - 1<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = sisallytys<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Sisällytyksen lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
<rcode name="relaationpoisto" embed=1 label="Poista relaatio" showcode=0 variables="<br />
name:relid|description:Poistettavan relaation ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Relaatio ei päde uudessa versiossa';Relaatio ei päde uudessa versiossa;<br />
'Virheellinen relaatio';Virheellinen relaatio|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
relid <- strsplit(relid, ",", fixed = TRUE)[[1]]<br />
relid <- gsub(" ", "", relid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = relid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Relaatio poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Kehittyneemmät hakukoneet ===<br />
'''Hae jakeita ja niihin liittyviä avainsanoja'''<br />
<rcode label="Hae" name="avainsanat_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) == 0) {<br />
stop("Jakeita ei löytynyt!")<br />
}<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
} else {<br />
colnames(tags)[colnames(tags) == "Result"] <- "Avainsana"<br />
out <- join(<br />
tags[c("Versio", "Sivu", "JaeID", "AvainsanaID", "Avainsana")],<br />
out[c("Versio", "Sivu", "JaeID", "Result")]<br />
)<br />
# Jos annettiin vain yksi versio ja/tai sivu niin niitä ei tarvitse printata<br />
filter_ind <- NULL<br />
if (length(version) != 1) filter_ind <- c(filter_ind, "Versio")<br />
if (length(sivu) != 1) filter_ind <- c(filter_ind, "Sivu")<br />
filter_ind <- c(filter_ind, "JaeID")<br />
oprint(out[c(filter_ind, "Result", "AvainsanaID", "Avainsana")], include.rownames = FALSE, show_all = TRUE)<br />
}<br />
</rcode><br />
<br />
'''Hae relaatioita ja niihin kuuluvia jakeita'''<br />
<rcode label="Hae" name="relaatiot_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta relaatioita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:liitsis|description:Liittymistyyppi (tyhjä = kaikki)|type:checkbox|options:<br />
'tukee tai on linjassa';Tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';Vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';On neutraali suhteessa;<br />
'on uusi linjaus tai painotus';On uusi linjaus tai painotus;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';Ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';Ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin';Ehdotus ei ole antanut aihetta muutoksiin;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';Ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
# Eri sisältymistyypit pitää määritellä niin että ne voidaan käsitellä erillään muista relaatioista<br />
sis_opt <- c(<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu',<br />
'ehdotus huomioitu ja uusi kohta lisätty',<br />
'ehdotus ei ole antanut aihetta muutoksiin', <br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun'<br />
)<br />
#liit_opt <- c(<br />
# 'tukee tai on linjassa',<br />
# 'vastustaa tai on ristiriidassa',<br />
# 'on neutraali suhteessa',<br />
# 'on uusi linjaus tai painotus'<br />
#)<br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (!is.null(liitsis)) rel <- rel[rel$Result %in% liitsis, ]<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = unique(c(<br />
as.character(rel$Sivu1), <br />
as.character(rel$Sivu2)<br />
)), <br />
versio = version, <br />
jae = unique(c(<br />
as.character(rel$JaeID1), <br />
as.character(rel$JaeID2)<br />
))<br />
)<br />
if (nrow(jakeet) == 0) stop("Relaatioissa listattuja jakeita ei löytynyt!")<br />
<br />
# Relaatiot<br />
if (nrow(rel[!(rel$Relaatio %in% sis_opt),]) > 0) {<br />
jakeet <- jakeet[c("Versio", "Sivu", "JaeID", "Result")]<br />
colnames(jakeet)[colnames(jakeet) == "JaeID"] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu"] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Jae1"<br />
rel <- rel[c("RelaatioID", "Versio", "Sivu1", "JaeID1", "Result", "Sivu2", "JaeID2")]<br />
colnames(rel)[colnames(rel) == "Result"] <- "Relaatio"<br />
out <- join(<br />
rel[(!(rel$Relaatio %in% sis_opt)) & rel$Versio %in% original_version,], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei relaatioita!\n")<br />
}<br />
<br />
# Sisällytykset<br />
if (nrow(rel[(rel$Relaatio %in% sis_opt),]) > 0) {<br />
colnames(jakeet)[colnames(jakeet) %in% c("JaeID","JaeID2")] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Sivu", "Sivu2")] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Result", "Jae2")] <- "Jae1"<br />
colnames(rel)[colnames(rel) == "Relaatio"] <- "Sisällytys"<br />
out <- join(<br />
rel[rel$Sisällytys %in% sis_opt & rel$Versio %in% version[-length(version)],], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
jakeet$Versio <- as.numeric(as.character(jakeet$Versio)) - 1<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Sisällytys", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Sisällytys (uudempaan versioon)", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei sisällytyksiä!\n")<br />
}<br />
}<br />
</rcode><br />
<br />
===Analyysi===<br />
'''Tässä voit hakea jakeita ja analysoida niiden määriä hakemalla yhdellä tai useammalla avainsanalla. '''<br />
<br />
Käytetyt avainsanat:<br />
{{piilotettu|<br />
3D-tulostus Aikataulut Ajoneuvokanta Alueellisuus <br />
alustus Ammattiryhmät Arvo Asutus <br />
Aurinko Automatisaatio Avoimuus Big Data <br />
Biopolttoaine Dataliikenne Digitalisoituminen Eettisyys <br />
eIDAS Elintaso Energia Epäselvä luokka <br />
Eriarvoisuus Erityisryhmät Esineiden internet Globaalius <br />
Globaaluis Henkilökortti Henkilötiedot Huutokauppa <br />
Hybridi Hybridi-TV Hyvinvointi Hyvinvointiyhteiskunta <br />
Häiriöt Ilmasto Infrastruktuuri Innovatiivisus <br />
Innovatiivisuus Internet Investoinnit Joukkoliikenne <br />
Joustavuus Julkinen valta Kaivosteollisuus Kansainvälisyys <br />
Kasvihuonekaasut Kaupallisuus Kaupungit Kehitys <br />
Kestävyys Kevyen liikenteen väylät Kevytliikenne Kiinteistöt <br />
Kilpailu Kilpailukyky Konesalit Konkreettisuus <br />
Kotimaisuus Koulutus Kunnat Kustannustehokkuus <br />
Kuuluvuus Kävely Laajakaista Lainsäädäntö <br />
Laiton tarjonta Langattomuus Lappi Lentoliikenne <br />
Liikenne Liikenneverkostot Liikkumistili Linja-autot <br />
Logistiikka Luonnonsuojelu Lämmitys Maakaasu <br />
Maatalous Mainonta Markkinat Massavalvonta <br />
Meriliikenne Metadata Mobiiliverkko Mopot <br />
Nopeus Ohjaus Ohjelmistot Ohjelmistotoimittaja <br />
Oikeusturva Omavaraisuus Operaattori Osaaminen <br />
Ostovoima Palaute Palvelut Palvelutaso <br />
Peruskunto Pilvipalvelut Polttoaine Posti <br />
Puelueettomuus Pysäköinti Pyöräily Päivitys <br />
Pääkaupunkiseutu Päästöt Päätöksenteko Päätös <br />
Raha Rahoitus Rahtliikenne Rajapinnat <br />
Rakennemuutos Rakentaminen Raskas liikenne Rautatiet <br />
Riippuvuus Rikokset Robotisaatio Ruuhkamaksu <br />
Ruuhkautuminen Saatavuus Sateliittipaikannus Sovellukset <br />
Strategia Suunnittelu Sähkö Sähköauto <br />
Sääntely Säästöt Talous Talouskasvu <br />
Tarpeet Tasa-arvo Tasapuolisuus Tasavertaisuus <br />
Tavaraliikenne Tehokkuus Tekijänoikeus Tekniikkaneutraalius <br />
Tekninen tuki Teknologia Teknologianeutraalius Teollisuus <br />
Terveydenhuolto Terveys testi Tiedon avoimuus <br />
Tiedon hallinnointi Tiedon hallinta Tiedon hyödyntäminen Tieliikenne <br />
Tietoliikenne Tietoturva Toimilupa Toiminta <br />
Toimintavarmuus Toimivuus Tuki Turvallisuus <br />
Turvaverkko Tutkimus Tuuli TV <br />
Työllisyys Työn tekemiseen liittyvä Ulkomaat Uudistus <br />
Vaihtoehtoiset polttoaineet Vaikuttaminen Vaikutus Vakuutus <br />
Valinnanvapaus Valtio Varmenne Varmuus <br />
Vastuu Verkostoituminen Verotus Vesiliikenne <br />
Vesiliikenne, Tasavertaisuus Viestintäverkot Viranomaiset Yhteensopivuus <br />
Yhteiskunta Yhteiskuntamurros Yhteistyö Yhteysnopeus <br />
Yksityisautoilu Yksityisyydensuoja YLE Yleispalvelu <br />
Yleisradio Ympäristö Yritykset Öljy <br />
}}<br />
<br />
<rcode label="Näytä jakeita/tilastoja" name="jae_stats" embed=1 graphics=1 variables="<br />
name:sivu|description:Minkä sivun jakeita haluat tarkastella?|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:avainsanat|description:Hae jakeita joilla on ainakin yksi seuraavista avainsanoista|type:text|<br />
name:avainsanat_all|description:Hae jakeita joilla on kaikki seuraavat avainsanat|type:text|<br />
name:jaelista|description:Haluatko nähdä kaikki löydetyt jakeet?|type:selection|options:FALSE;En;TRUE;Kyllä|default:FALSE|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
library(ggplot2)<br />
<br />
filter <- list()<br />
if (nchar(gsub(" ", "", avainsanat)) > 0) {<br />
avainsanat <- strsplit(avainsanat, ",")[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat) <br />
} else {<br />
avainsanat <- NULL<br />
}<br />
if (nchar(gsub(" ", "", avainsanat_all)) > 0) {<br />
avainsanat_all <- strsplit(avainsanat_all, ",")[[1]]<br />
avainsanat_all <- gsub("^\\s*|\\s*$", "", avainsanat_all)<br />
#filter$Avainsana <- avainsanat_all<br />
} else {<br />
avainsanat_all <- NULL<br />
}<br />
filter$Sivu <- sivu<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
filter$Versio <- version<br />
<br />
if (length(filter) == 0) filter <- NULL<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
jaeid <- NULL<br />
<br />
if (!is.null(avainsanat)|!is.null(avainsanat_all)) {<br />
tags <- tags[tags$Result %in% c(avainsanat, avainsanat_all), ]<br />
jaeid <- unique(as.character(tags$JaeID))<br />
}<br />
<br />
if(!is.null(avainsanat_all)) {<br />
temp <- list()<br />
for (i in 1:nrow(jaeid)) {<br />
temp[[i]] <- avainsanat_all %in% tags$Result[tags$JaeID == jaeid[i]]<br />
}<br />
temp <- lapply(temp, all)<br />
jaeid <- jaeid[temp]<br />
tags <- tags[tags$JaeID %in% jaeid,]<br />
}<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt.\n")<br />
}<br />
<br />
if (is.null(filter)) {<br />
filter2 <- list()<br />
} else {<br />
filter2 <- filter<br />
}<br />
<br />
filter2$JaeID <- jaeid<br />
<br />
if (length(filter2) == 0) filter2 <- NULL<br />
<br />
if (jaelista) {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = filter2$Sivu, # *list$non-existent returns NULL<br />
versio = filter2$Versio, <br />
jae = filter2$JaeID<br />
)<br />
if (nrow(jakeet) == 0) {<br />
cat("Avainsanoissa listattuja jakeita ei löytynyt.\n")<br />
} else {<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Sisältö"<br />
tagged <- NULL<br />
if (nrow(tags) > 0) {<br />
#tagged <- join(<br />
# jakeet[c("Versio", "Sivu", "Aihe", "JaeID")], <br />
# tags[c("Versio", "Sivu", "JaeID", "Result")]<br />
#)<br />
#colnames(tagged)[colnames(tagged) == "Result"] <- "Avainsana"<br />
tagged <- tapply(tags$Result, tags[c("Versio", "Sivu", "JaeID")], paste, collapse = ", ")<br />
tagged <- as.data.frame(as.table(tagged))<br />
colnames(tagged)[colnames(tagged) == "Freq"] <- "Avainsanat"<br />
tagged <- join(<br />
jakeet[c("Versio", "Sivu", "JaeID", "Sisältö")], <br />
tagged[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
type = "inner",<br />
match = "first"<br />
)<br />
oprint(<br />
tagged[c("Versio", "Sivu", "JaeID", "Sisältö", "Avainsanat")],<br />
caption = "Jakeet", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = rep(0, 6)<br />
)<br />
}<br />
}<br />
}<br />
<br />
if (nrow(tags) > 0) {<br />
tags_out <- ddply(tags, "Result", nrow)<br />
colnames(tags_out) <- c("Avainsana", "Lukumäärä")<br />
tags_out <- tags_out[order(tags_out$Lukumäärä, decreasing = TRUE),]<br />
oprint(<br />
tags_out,<br />
caption = "Avainsanojen lukumäärät", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = c(0, 0, 0)<br />
)<br />
ggplot(tags_out, aes(x = Avainsana, y = Lukumäärä, fill = Avainsana)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Avainsanojen frekvenssit")<br />
}<br />
<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter3 <- list()<br />
filter3$Sivu1 <- sivu<br />
filter3$Versio <- version<br />
filter3$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter3$JaeID1 <- NULL<br />
filter3$Sivu1 <- NULL<br />
filter3$JaeID2 <- jaeid<br />
filter3$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
related <- rel[<br />
rel$Result %in% c(<br />
"on neutraali suhteessa", <br />
"on uusi linjaus tai painotus", <br />
"tukee tai on linjassa", <br />
"vastustaa tai on ristiriidassa"<br />
), ]<br />
related$Result <- as.character(related$Result)<br />
affected <- rel[<br />
rel$Result %in% c(<br />
"ehdotus ei ole antanut aihetta muutoksiin",<br />
"ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun", <br />
"ehdotus huomioitu ja liittyvää painotusta muutettu",<br />
"ehdotus huomioitu ja uusi kohta lisätty"<br />
), ]<br />
affected$Result <- as.character(affected$Result)<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin"] <- "Ei aihetta muutoksiin"<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun"] <- "Sisältyy valmiiksi"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja liittyvää painotusta muutettu"] <- "Huomioitu painotuksella"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja uusi kohta lisätty"] <- "Huomioitu lisäyksellä"<br />
<br />
related_out <- ddply(related, "Result", nrow)<br />
colnames(related_out) <- c("Relaatio", "Lukumäärä")<br />
<br />
affected_out <- ddply(affected, "Result", nrow)<br />
colnames(affected_out) <- c("Sisällytys", "Lukumäärä")<br />
}<br />
<br />
if (nrow(related_out > 0)) {<br />
ggplot(related_out, aes(x = Relaatio, y = Lukumäärä, fill = Relaatio)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Relaatioiden frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
<br />
if (nrow(affected_out > 0)) {<br />
ggplot(affected_out, aes(x = Sisällytys, y = Lukumäärä, fill = Sisällytys)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Sisällytyksen frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
</rcode><br />
=== Sulautus ===<br />
{{tuloslinkki}}<br />
<rcode label="Etsi sulautuksia" name="sulautus" embed=0 variables="<br />
name:sivu|description:Sivut joihin sulautus tehdään (kaikista edellisen version jakeista)|type:checkbox|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:toleranssi|description:Toleranssi (Levenshtein distance)|default:5|<br />
name:tallenna|description:Tallenna kantaan|type:selection|options:TRUE;Kyllä;FALSE;Ei|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
mdat <- get_meta_data(ident)<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
version <- c(version - 1, version)<br />
<br />
jakeet <- jaehakukone(ident, versio = version)<br />
<br />
ver1 <- jakeet[jakeet$Versio == version[1],]<br />
ver2 <- jakeet[jakeet$Versio == version[2] & jakeet$Sivu == sivu,]<br />
<br />
# adist too slow<br />
d <- adist(<br />
ver1$Result, <br />
ver2$Result,<br />
fixed = FALSE<br />
)<br />
d[is.na(d)] <- Inf<br />
#d_min <- apply(d, 1, min)<br />
#d_tol <- d <= toleranssi<br />
#d_out <- apply(d, 1, which.min)<br />
<br />
colnames(ver1)[colnames(ver1) == "Versio"] <- "Versio1"<br />
colnames(ver1)[colnames(ver1) == "Sivu"] <- "Sivu1"<br />
colnames(ver1)[colnames(ver1) == "JaeID"] <- "JaeID1"<br />
colnames(ver1)[colnames(ver1) == "Result"] <- "Result1"<br />
<br />
colnames(ver2)[colnames(ver2) == "Versio"] <- "Versio2"<br />
colnames(ver2)[colnames(ver2) == "Sivu"] <- "Sivu2"<br />
colnames(ver2)[colnames(ver2) == "JaeID"] <- "JaeID2"<br />
colnames(ver2)[colnames(ver2) == "Result"] <- "Result2"<br />
<br />
#out <- cbind(ver1[d_min <= toleranssi, ], ver2[d_out[d_min <= toleranssi], ])<br />
<br />
d <- alply(d, 1, I)<br />
d_tol <- llply(d, function(x) {x <= toleranssi})<br />
d_reps <- laply(d_tol, sum)<br />
d_w <- llply(d_tol, which)<br />
d_w <- unlist(d_w)<br />
<br />
out <- cbind(ver1[rep(1:nrow(ver1), d_reps),], ver2[d_w, ])<br />
<br />
#d <- NULL<br />
#n <- NULL<br />
#for (i in 1:nrow(ver1)) {<br />
# for (j in split(ver2$Result, ceiling((1:nrow(ver2)) / 100))) {<br />
# temp <- agrep(ver1$Result[i], j, toleranssi)<br />
# d <- append(d, temp)<br />
# n <- append(n, length(temp))<br />
# }<br />
#}<br />
<br />
#out <- cbind(<br />
# ver1[rep(1:nrow(ver1), n),],<br />
# ver2[d,]<br />
#)<br />
if (tallenna) {<br />
opbase.upload(<br />
out,<br />
name = pagename,<br />
who = wiki_username,<br />
subset = "Sulautukset"<br />
)<br />
} else { <br />
oprint(<br />
out, <br />
include.rownames = FALSE, <br />
digits = rep(0, ncol(out) + 1), <br />
caption("Sulautus uuteen versioon"), <br />
caption.placement = "top",<br />
show.all = TRUE<br />
)<br />
}<br />
</rcode></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Liikenne_ja_viestint%C3%A4_digitaalisessa_Suomessa_2020/Sis%C3%A4ll%C3%B6nanalyysi&diff=25117
Liikenne ja viestintä digitaalisessa Suomessa 2020/Sisällönanalyysi
2014-07-28T11:52:02Z
<p>Teemu R: /* Tägikone */</p>
<hr />
<div>{{LVM}}<br />
<br />
'''Tällä sivulla voit tarkastella liikenneministeriön tulevaisuuskatsauksen sisältöä ja kansalaisten antamien kommenttien suhdetta siihen. <br />
Alla olevilla työkaluilla voit hakea tekstin jakeita eli erillisiä tekstikappaleita ja niihin liittyviä avainsanoja tai muita jakeita. Relaatiot tarkoittavat kuvailua siitä, millä tavalla kaksi jaetta liittyy toisiinsa.<br />
<br />
== Tägikone ==<br />
{{tuloslinkki}}<br />
<rcode label="Päivitä tietokantarakenne" variables="<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
<br />
jakeet <- opbase.data(paste("Op_fi4362", "Jakeet", sep = "."), 12748)<br />
jakeet$Versio <- 1<br />
temp <- jakeet[grep("^U", jakeet$JaeID),]<br />
temp <- jakeet[!(jakeet$Sivu %in% unique(as.character(temp$Sivu))),]<br />
temp$Versio <- 2<br />
jakeet$Versio[grep("^U", jakeet$JaeID)] <- 2<br />
jakeet$JaeID <- gsub("[A-Za-z]", "", as.character(jakeet$JaeID))<br />
jakeet <- rbind(jakeet, temp)<br />
jakeet$Aihe <- NA<br />
<br />
ymjakeet <- opbase.data("Op_fi4530.jakeet")<br />
ymspan <- 1:nrow(ymjakeet)<br />
ymjakeet <- ymjakeet[rep(ymspan, 2), ]<br />
ymjakeet$Versio <- 2<br />
ymjakeet$Versio[ymspan] <- 1<br />
<br />
jakeet <- rbind.fill(jakeet, ymjakeet)<br />
<br />
opbase.upload(<br />
jakeet[c("Versio", "Sivu", "Aihe", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeet"<br />
)<br />
<br />
jaepois <- opbase.data(paste("Op_fi4362", "Jakeenpoistot", sep = "."))<br />
#jaepois <- data.frame(<br />
# Versio = 0,<br />
# Sivu = NA, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
jaepois$Versio <- 1<br />
jaepois$Aika <- NA # date()<br />
jaepois$Käyttäjä <- NA # wiki_username<br />
jaepois$Versio[grep("^[Uu]", jaepois$Result)] <- 2<br />
temp <- jaepois[!(jaepois$Sivu %in% unique(jaepois$Sivu[jaepois$Versio == 2])), ]<br />
temp$Versio <- 2<br />
jaepois <- rbind(jaepois, temp)<br />
<br />
ymjaepois <- tryCatch(<br />
opbase.data("Op_fi4530.jakeenpoistot"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymjaepois)) {<br />
ymspan <- 1:nrow(ymjaepois)<br />
ymjaepois <- ymjaepois[rep(ymspan, 2), ]<br />
ymjaepois$Versio <- 2<br />
ymjaepois$Versio[ymspan] <- 1<br />
<br />
jaepois <- rbind.fill(jaepois, ymjaepois)<br />
}<br />
<br />
opbase.upload(<br />
jaepois[c("Versio", "Sivu", "Aika", "Käyttäjä", "Syy", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeenpoistot"<br />
)<br />
<br />
jaelisa <- opbase.data(paste("Op_fi4362", "jakeenlisays", sep = "."))<br />
#out <- data.frame( <br />
# Versio = 0,<br />
# Sivu = NA, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# JaeID = NA,<br />
# Result = "Alustus"<br />
#)<br />
jaelisa$Versio <- 1<br />
jaelisa$Aika <- NA # date()<br />
jaelisa$Käyttäjä <- NA # wiki_username<br />
temp <- jaelisa<br />
temp$Versio <- 2<br />
jaelisa <- rbind(jaelisa, temp)<br />
<br />
ymjaelisa <- tryCatch(<br />
opbase.data("Op_fi4530.jakeenlisaykset"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymjaelisa)) {<br />
ymspan <- 1:nrow(ymjaelisa)<br />
ymjaelisa <- ymjaelisa[rep(ymspan, 2), ]<br />
ymjaelisa$Versio <- 2<br />
ymjaelisa$Versio[ymspan] <- 1<br />
<br />
jaelisa <- rbind.fill(jaelisa, ymjaelisa)<br />
}<br />
<br />
opbase.upload(<br />
jaelisa[c("Versio", "Sivu", "Aika", "Käyttäjä", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeenlisaykset"<br />
)<br />
<br />
avainsanat <- opbase.data(paste("Op_fi4362", "avainsanat", sep = "."))<br />
<br />
#out <- data.frame(<br />
# AvainsanaID = NA, <br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Sivu = NA,<br />
# JaeID = NA, <br />
# Result = "Alustus"<br />
#)<br />
avainsanat$AvainsanaID <- 1:nrow(avainsanat)<br />
avainsanat$Versio <- 1<br />
avainsanat$JaeID <- avainsanat$Jae<br />
avainsanat$Result <- avainsanat$Avainsana<br />
temp <- avainsanat<br />
temp$Versio <- 2<br />
avainsanat <- rbind(avainsanat, temp)<br />
<br />
ymavainsanat <- tryCatch(<br />
opbase.data("Op_fi4530.avainsanat"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymavainsanat)) {<br />
ymavainsanat$AvainsanaID <- ymavainsanat$AvainsanaID + nrow(avainsanat)<br />
ymspan <- 1:nrow(ymavainsanat)<br />
ymavainsanat <- ymavainsanat[rep(ymspan, 2), ]<br />
ymavainsanat$Versio <- 2<br />
ymavainsanat$Versio[ymspan] <- 1<br />
<br />
avainsanat <- rbind.fill(avainsanat, ymavainsanat)<br />
}<br />
<br />
opbase.upload(<br />
avainsanat[c("AvainsanaID", "Versio", "Aika", "Käyttäjä", "Sivu", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Avainsanat"<br />
)<br />
<br />
# Tuli LVM tägikoneen päivityksen kanssa tämmönen ongelma vastaan: Edellisen tägikoneen relaatioiden <br />
# syöttökoodin takia jakeet on usein relaatiossa sen jakeen kanssa johon ne on sisällytetty (vastustaa/puolustaa/jne), <br />
# mikä ei käy järkeen koska relaatiot pätevät pääasiassa saman version sisällä toisin kuin sisällytys mikä tapahtuu <br />
# seuraavaan versioon. Sisällytys on ihan eri asia kuin relaatio, se on vaan samanmuotoinen kuin relaatio ja siksi <br />
# samassa taulussa, tai ainakin tää on mun tämänhetkinen tulkinta.<br />
<br />
# Ongelma on siis tän LVM tägäyksen kanssa siinä että relaatio ja sisällytys piti antaa samanaikaisesti<br />
<br />
rel <- opbase.data(paste("Op_fi4362", "relaatiot", sep = "."))<br />
<br />
#out <- data.frame(<br />
# RelaatioID = NA,<br />
# Versio = 0, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username, <br />
# Sivu1 = NA,<br />
# JaeID1 = NA,<br />
# Sivu2 = NA,<br />
# JaeID2 = NA,<br />
# Result = "Alustus"<br />
#)<br />
#rel$RelaatioID <- 1:nrow(rel)<br />
rel$Versio <- 1<br />
rel$Sivu1 <- rel$Sivu<br />
rel$JaeID1 <- rel$Jae<br />
rel$Sivu2 <- rel$Liittymäsivu<br />
rel$JaeID2 <- rel$Liittymäjae<br />
<br />
rel1 <- rel<br />
rel1$Result <- rel$Liittyminen<br />
temp1 <- rel1[grep("^[Uu]", rel1$JaeID2),]<br />
temp1$Versio <- 2<br />
rel1 <- rel1[-grep("^[Uu]", rel1$JaeID2),]<br />
relt <- rel1<br />
relt$Versio <- 2<br />
rel1 <- rbind(rel1, relt)<br />
rel1 <- rbind(rel1, temp1)<br />
<br />
rel2 <- rel<br />
rel2$Result <- rel$Sisällytys<br />
temp2 <- rel2[grep("^[Uu]", rel2$JaeID2),]<br />
temp2$JaeID2 <- gsub("^[Uu]", "", as.character(temp2$JaeID2))<br />
#temp2$Versio <- 1<br />
rel2 <- rel2[-grep("^[Uu]", rel2$JaeID2),]<br />
rel2 <- rbind(rel2, temp2)<br />
<br />
#rel1$RelaatioID <- 1:nrow(rel1)<br />
#rel2$RelaatioID <- 1:nrow(rel2)<br />
<br />
rel <- rbind(rel1, rel2)<br />
rel$JaeID1 <- gsub("^[Uu]", "", as.character(rel$JaeID1))<br />
rel$JaeID2 <- gsub("^[Uu]", "", as.character(rel$JaeID2))<br />
<br />
ymrel <- tryCatch(<br />
opbase.data("Op_fi4530.relaatiot"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymrel)) {<br />
ymspan <- 1:nrow(ymrel)<br />
ymrel <- ymrel[rep(ymspan, 2), ]<br />
ymrel$Versio <- 2<br />
ymrel$Versio[ymspan] <- 1<br />
<br />
rel <- rbind.fill(rel, ymrel)<br />
}<br />
<br />
rel$RelaatioID[rel$Versio == 1] <- 1:nrow(rel[rel$Versio == 1,])<br />
rel$RelaatioID[rel$Versio == 2] <- 1:nrow(rel[rel$Versio == 2,])<br />
<br />
opbase.upload(<br />
rel[c("RelaatioID", "Aika", "Käyttäjä", "Sivu1", "JaeID1", "Sivu2", "JaeID2", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Relaatiot"<br />
)<br />
<br />
#out <- data.frame(<br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
<br />
out <- tryCatch(<br />
opbase.data(<br />
ident, <br />
subset = "relaationpoistot", <br />
),<br />
error = function(...) return(NULL)<br />
)<br />
ymout <- tryCatch(<br />
opbase.data("Op_fi4530.relaationpoistot"),<br />
error = function(...) return(NULL)<br />
)<br />
<br />
out <- rbind(out, ymout)<br />
<br />
if (!is.null(out)) {<br />
opbase.upload(<br />
out, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
who = wiki_username<br />
)<br />
}<br />
<br />
<br />
#out <- data.frame(<br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
<br />
out <- tryCatch(<br />
opbase.data(ident, subset = "Avainsananpoistot", exclude = list(Sivu = "Ympäristöministeriön tulevaisuuskatsaus")),<br />
error = function(...) return(NULL)<br />
)<br />
ymout <- tryCatch(<br />
opbase.data("Op_fi4530.Avainsananpoistot"),<br />
error = function(...) return(NULL)<br />
)<br />
<br />
out <- rbind(out, ymout)<br />
<br />
if (!is.null(out)) {<br />
opbase.upload(<br />
out, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
who = wiki_username<br />
)<br />
}<br />
<br />
<br />
<br />
#opbase.upload(<br />
# out, <br />
# name = pagename, <br />
# subset = "Avainsananpoistot", <br />
# who = wiki_username<br />
#)<br />
</rcode><br />
=== Versiot ===<br />
<t2b name="Versiot" index="Versio,Sivu,Ident" unit="OldID"><br />
1|Liikenne ja viestintä palveluna|Op_fi4248|<br />
1|Liikenteen palvelumarkkinat|Op_fi4253|<br />
1|Liikenteen energiareformi|Op_fi4254|<br />
1|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
1|Monipuoliset sisällöt|Op_fi4256|<br />
1|Oma Painotus Teema I|Op_fi4257|<br />
1|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
1|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
1|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
1|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
1|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
1|Oma Painotus Teema II|Op_fi4262|<br />
1|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
1|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
1|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
1|Arktinen strategia|Op_fi4265|<br />
1|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
1|Oma Painotus Teema III|Op_fi4267|<br />
2|Liikenne ja viestintä palveluna|Op_fi4248|<br />
2|Liikenteen palvelumarkkinat|Op_fi4253|<br />
2|Liikenteen energiareformi|Op_fi4254|<br />
2|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
2|Monipuoliset sisällöt|Op_fi4256|<br />
2|Oma Painotus Teema I|Op_fi4257|<br />
2|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
2|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
2|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
2|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
2|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
2|Oma Painotus Teema II|Op_fi4262|<br />
2|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
2|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
2|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
2|Arktinen strategia|Op_fi4265|<br />
2|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
2|Oma Painotus Teema III|Op_fi4267|<br />
</t2b><br />
<br />
===Jakeet===<br />
'''Kaikkien kenttien arvot saa erotella pilkuilla tässä haussa'''<br />
<rcode label="Näytä jakeet" name="jakeet" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Jakeita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
<rcode label="Poista jae" name="jakeenpoisto" embed=1 variables="<br />
name:sivu|description:Poistettavan jakeen sivu|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Poistettavan jakeen ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Tekninen jae';Tekninen jae;<br />
'Jae ei liity sivun aiheeseen';Jae ei liity sivun aiheeseen;<br />
'Jae on häiriköintiä';Jae on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jaeid <- strsplit(jaeid, ",", fixed = TRUE)[[1]]<br />
jaeid <- gsub(" ", "", jaeid)<br />
<br />
if (sum(nchar(jaeid)) == 0) stop("Anna jakeen ID")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame(<br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = as.character(jaeid)<br />
)<br />
<br />
opbase.upload(<br />
out, <br />
who = wiki_username, <br />
name = pagename,<br />
subset = "Jakeenpoistot",<br />
act_type = "append", <br />
language = "fin"<br />
)<br />
</rcode><br />
<br />
<rcode label="Lisää jae" name="jakeenlisays" embed=1 variables="<br />
name:sivu|description:Sivu jolle jae lisätään|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:sisalto|description:Jakeen sisältö|type:textbox|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame( <br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
JaeID = NA,<br />
Result = sisalto<br />
)<br />
<br />
ident.subset <- paste(ident, "Jakeenlisaykset", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
filter$Sivu <- sivu<br />
<br />
upload_with_autoid(<br />
out,<br />
ident.subset,<br />
id_name = "JaeID",<br />
pagename = pagename,<br />
prefix = "L",<br />
filter = filter<br />
)<br />
</rcode><br />
<br />
=== Avainsanat ===<br />
<rcode label="Näytä avainsanat" name="avainsanat_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka avainsanoja haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
out <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<rcode label="Lisää avainsana" name="avainsanat" embed=1 variables="<br />
name:sivu|description:Minkä sivun jakeelle haluat lisätä avainsanoja?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Mikä on jakeen versio?|type:text|default:nykyinen|<br />
name:jae|description:Mikä on jakeen ID?|type:text|<br />
name:yl_avainsanat|description:Valitse alla olevasta listasta yleisiä avainsanoja.|type:checkbox|options:<br />
'Päätös';A Päätös (jae sisältää päätös- tai toimintaehdotuksen);<br />
'Vaikutus';B Vaikutus (jae kuvaa ilmiötä tai vaikutusta);<br />
'Arvo';C Arvo (jakeessa on arvoarvostelma tai kuvaa asian merkitystä);<br />
'Työn tekemiseen liittyvä';D Katsaustyön tekemiseen liittyvä;<br />
'Epäselvä luokka';E Ei mikään edellisistä (valitse ainakin yksi A-E)|<br />
name:avainsanat|description:Laita halutessasi yllä listaamattomattomia avainsanoja tähän pilkulla eroteltuna.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
avainsanat <- strsplit(avainsanat, ",", fixed = TRUE)[[1]]<br />
avainsanat <- gsub(" ", "", avainsanat)<br />
avainsanat <- avainsanat[nchar(avainsanat) > 0]<br />
avainsanat <- c(yl_avainsanat, avainsanat)<br />
if (length(avainsanat) == 0) stop("Yhtään avainsanaa ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
AvainsanaID = NA, <br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Sivu = sivu,<br />
JaeID = as.character(jae), <br />
Result = avainsanat<br />
)<br />
<br />
ident.subset <- paste(ident, "Avainsanat", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "AvainsanaID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Avainsanojen lisääminen onnistui.\n")<br />
</rcode><br />
<br />
<rcode name="avainsananpoisto" embed=1 label="Poista avainsana" showcode=0 variables="<br />
name:avid|description:Poistettavan avainsanan ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Avainsana ei päde uudessa versiossa';Avainsana ei päde uudessa versiossa;<br />
'Virheellinen avainsana';Virheellinen avainsana|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
avid <- strsplit(avid, ",", fixed = TRUE)[[1]]<br />
avid <- gsub(" ", "", avid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = avid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Avainsana poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Relaatiot ===<br />
<rcode label="Näytä relaatiot" name="relaatiot_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka relaatioita haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
out <- rbind(rel1, rel2)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(<br />
out, <br />
include.rownames = FALSE,<br />
caption = "Relaatiot", <br />
caption.placement = "top"<br />
)<br />
} else {<br />
cat("Relaatioita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
<rcode label="Lisää relaatio" name="relaatio" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:nykyinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID?|type:text|<br />
name:relaatio|description:'''Kuinka lähtöjae liittyy kohdejakeeseen?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'tukee tai on linjassa';tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';on neutraali suhteessa;<br />
'on uusi linjaus tai painotus';on uusi linjaus tai painotus;<br />
'kuuluu ryhmään/kokoelmaan';kuuluu ryhmään/kokoelmaan|<br />
name:lisarelaatio|description:VAPAAEHTOINEN Voit antaa oman jakeiden välisen relaation vapaakenttään.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
relaatio <- ifelse(lisarelaatio == '', relaatio, lisarelaatio)<br />
if (nchar(gsub(" ", "", relaatio)) == 0) stop("Relaatiota ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = relaatio<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Relaation lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
<rcode label="Lisää sisällytys" name="sisallytys" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:edellinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID (uudemmassa versiossa)?|type:text|<br />
name:sisallytys|description:'''Sisällytettiinkö ehdotus uudempaan versioon?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun;<br />
'ehdotus ei ole antanut aihetta muutoksiin';ehdotus ei ole antanut aihetta muutoksiin|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
if (nchar(gsub(" ", "", sisallytys)) == 0) stop("Sisällytyksen tyyppiä ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "edellinen") {<br />
version <- get_current_version(ident) - 1<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = sisallytys<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Sisällytyksen lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
<rcode name="relaationpoisto" embed=1 label="Poista relaatio" showcode=0 variables="<br />
name:relid|description:Poistettavan relaation ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Relaatio ei päde uudessa versiossa';Relaatio ei päde uudessa versiossa;<br />
'Virheellinen relaatio';Virheellinen relaatio|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
relid <- strsplit(relid, ",", fixed = TRUE)[[1]]<br />
relid <- gsub(" ", "", relid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = relid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Relaatio poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Kehittyneemmät hakukoneet ===<br />
'''Hae jakeita ja niihin liittyviä avainsanoja'''<br />
<rcode label="Hae" name="avainsanat_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) == 0) {<br />
stop("Jakeita ei löytynyt!")<br />
}<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
} else {<br />
colnames(tags)[colnames(tags) == "Result"] <- "Avainsana"<br />
out <- join(<br />
tags[c("Versio", "Sivu", "JaeID", "AvainsanaID", "Avainsana")],<br />
out[c("Versio", "Sivu", "JaeID", "Result")]<br />
)<br />
# Jos annettiin vain yksi versio ja/tai sivu niin niitä ei tarvitse printata<br />
filter_ind <- NULL<br />
if (length(version) != 1) filter_ind <- c(filter_ind, "Versio")<br />
if (length(sivu) != 1) filter_ind <- c(filter_ind, "Sivu")<br />
filter_ind <- c(filter_ind, "JaeID")<br />
oprint(out[c(filter_ind, "Result", "AvainsanaID", "Avainsana")], include.rownames = FALSE, show_all = TRUE)<br />
}<br />
</rcode><br />
<br />
'''Hae relaatioita ja niihin kuuluvia jakeita'''<br />
<rcode label="Hae" name="relaatiot_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta relaatioita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:liitsis|description:Liittymistyyppi (tyhjä = kaikki)|type:checkbox|options:<br />
'tukee tai on linjassa';Tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';Vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';On neutraali suhteessa;<br />
'on uusi linjaus tai painotus';On uusi linjaus tai painotus;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';Ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';Ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin';Ehdotus ei ole antanut aihetta muutoksiin;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';Ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
# Eri sisältymistyypit pitää määritellä niin että ne voidaan käsitellä erillään muista relaatioista<br />
sis_opt <- c(<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu',<br />
'ehdotus huomioitu ja uusi kohta lisätty',<br />
'ehdotus ei ole antanut aihetta muutoksiin', <br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun'<br />
)<br />
#liit_opt <- c(<br />
# 'tukee tai on linjassa',<br />
# 'vastustaa tai on ristiriidassa',<br />
# 'on neutraali suhteessa',<br />
# 'on uusi linjaus tai painotus'<br />
#)<br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (!is.null(liitsis)) rel <- rel[rel$Result %in% liitsis, ]<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = unique(c(<br />
as.character(rel$Sivu1), <br />
as.character(rel$Sivu2)<br />
)), <br />
versio = version, <br />
jae = unique(c(<br />
as.character(rel$JaeID1), <br />
as.character(rel$JaeID2)<br />
))<br />
)<br />
if (nrow(jakeet) == 0) stop("Relaatioissa listattuja jakeita ei löytynyt!")<br />
<br />
# Relaatiot<br />
if (nrow(rel[!(rel$Relaatio %in% sis_opt),]) > 0) {<br />
jakeet <- jakeet[c("Versio", "Sivu", "JaeID", "Result")]<br />
colnames(jakeet)[colnames(jakeet) == "JaeID"] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu"] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Jae1"<br />
rel <- rel[c("RelaatioID", "Versio", "Sivu1", "JaeID1", "Result", "Sivu2", "JaeID2")]<br />
colnames(rel)[colnames(rel) == "Result"] <- "Relaatio"<br />
out <- join(<br />
rel[(!(rel$Relaatio %in% sis_opt)) & rel$Versio %in% original_version,], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei relaatioita!\n")<br />
}<br />
<br />
# Sisällytykset<br />
if (nrow(rel[(rel$Relaatio %in% sis_opt),]) > 0) {<br />
colnames(jakeet)[colnames(jakeet) %in% c("JaeID","JaeID2")] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Sivu", "Sivu2")] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Result", "Jae2")] <- "Jae1"<br />
colnames(rel)[colnames(rel) == "Relaatio"] <- "Sisällytys"<br />
out <- join(<br />
rel[rel$Sisällytys %in% sis_opt & rel$Versio %in% version[-length(version)],], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
jakeet$Versio <- as.numeric(as.character(jakeet$Versio)) - 1<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Sisällytys", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Sisällytys (uudempaan versioon)", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei sisällytyksiä!\n")<br />
}<br />
}<br />
</rcode><br />
<br />
===Analyysi===<br />
'''Tässä voit hakea jakeita ja analysoida niiden määriä hakemalla yhdellä tai useammalla avainsanalla. '''<br />
<br />
Käytetyt avainsanat:<br />
{{piilotettu|<br />
3D-tulostus Aikataulut Ajoneuvokanta Alueellisuus <br />
alustus Ammattiryhmät Arvo Asutus <br />
Aurinko Automatisaatio Avoimuus Big Data <br />
Biopolttoaine Dataliikenne Digitalisoituminen Eettisyys <br />
eIDAS Elintaso Energia Epäselvä luokka <br />
Eriarvoisuus Erityisryhmät Esineiden internet Globaalius <br />
Globaaluis Henkilökortti Henkilötiedot Huutokauppa <br />
Hybridi Hybridi-TV Hyvinvointi Hyvinvointiyhteiskunta <br />
Häiriöt Ilmasto Infrastruktuuri Innovatiivisus <br />
Innovatiivisuus Internet Investoinnit Joukkoliikenne <br />
Joustavuus Julkinen valta Kaivosteollisuus Kansainvälisyys <br />
Kasvihuonekaasut Kaupallisuus Kaupungit Kehitys <br />
Kestävyys Kevyen liikenteen väylät Kevytliikenne Kiinteistöt <br />
Kilpailu Kilpailukyky Konesalit Konkreettisuus <br />
Kotimaisuus Koulutus Kunnat Kustannustehokkuus <br />
Kuuluvuus Kävely Laajakaista Lainsäädäntö <br />
Laiton tarjonta Langattomuus Lappi Lentoliikenne <br />
Liikenne Liikenneverkostot Liikkumistili Linja-autot <br />
Logistiikka Luonnonsuojelu Lämmitys Maakaasu <br />
Maatalous Mainonta Markkinat Massavalvonta <br />
Meriliikenne Metadata Mobiiliverkko Mopot <br />
Nopeus Ohjaus Ohjelmistot Ohjelmistotoimittaja <br />
Oikeusturva Omavaraisuus Operaattori Osaaminen <br />
Ostovoima Palaute Palvelut Palvelutaso <br />
Peruskunto Pilvipalvelut Polttoaine Posti <br />
Puelueettomuus Pysäköinti Pyöräily Päivitys <br />
Pääkaupunkiseutu Päästöt Päätöksenteko Päätös <br />
Raha Rahoitus Rahtliikenne Rajapinnat <br />
Rakennemuutos Rakentaminen Raskas liikenne Rautatiet <br />
Riippuvuus Rikokset Robotisaatio Ruuhkamaksu <br />
Ruuhkautuminen Saatavuus Sateliittipaikannus Sovellukset <br />
Strategia Suunnittelu Sähkö Sähköauto <br />
Sääntely Säästöt Talous Talouskasvu <br />
Tarpeet Tasa-arvo Tasapuolisuus Tasavertaisuus <br />
Tavaraliikenne Tehokkuus Tekijänoikeus Tekniikkaneutraalius <br />
Tekninen tuki Teknologia Teknologianeutraalius Teollisuus <br />
Terveydenhuolto Terveys testi Tiedon avoimuus <br />
Tiedon hallinnointi Tiedon hallinta Tiedon hyödyntäminen Tieliikenne <br />
Tietoliikenne Tietoturva Toimilupa Toiminta <br />
Toimintavarmuus Toimivuus Tuki Turvallisuus <br />
Turvaverkko Tutkimus Tuuli TV <br />
Työllisyys Työn tekemiseen liittyvä Ulkomaat Uudistus <br />
Vaihtoehtoiset polttoaineet Vaikuttaminen Vaikutus Vakuutus <br />
Valinnanvapaus Valtio Varmenne Varmuus <br />
Vastuu Verkostoituminen Verotus Vesiliikenne <br />
Vesiliikenne, Tasavertaisuus Viestintäverkot Viranomaiset Yhteensopivuus <br />
Yhteiskunta Yhteiskuntamurros Yhteistyö Yhteysnopeus <br />
Yksityisautoilu Yksityisyydensuoja YLE Yleispalvelu <br />
Yleisradio Ympäristö Yritykset Öljy <br />
}}<br />
<br />
<rcode label="Näytä jakeita/tilastoja" name="jae_stats" embed=1 graphics=1 variables="<br />
name:sivu|description:Minkä sivun jakeita haluat tarkastella?|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:avainsanat|description:Hae jakeita joilla on ainakin yksi seuraavista avainsanoista|type:text|<br />
name:avainsanat_all|description:Hae jakeita joilla on kaikki seuraavat avainsanat|type:text|<br />
name:jaelista|description:Haluatko nähdä kaikki löydetyt jakeet?|type:selection|options:FALSE;En;TRUE;Kyllä|default:FALSE|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
library(ggplot2)<br />
<br />
filter <- list()<br />
if (nchar(gsub(" ", "", avainsanat)) > 0) {<br />
avainsanat <- strsplit(avainsanat, ",")[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat) <br />
} else {<br />
avainsanat <- NULL<br />
}<br />
if (nchar(gsub(" ", "", avainsanat_all)) > 0) {<br />
avainsanat_all <- strsplit(avainsanat_all, ",")[[1]]<br />
avainsanat_all <- gsub("^\\s*|\\s*$", "", avainsanat_all)<br />
#filter$Avainsana <- avainsanat_all<br />
} else {<br />
avainsanat_all <- NULL<br />
}<br />
filter$Sivu <- sivu<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
filter$Versio <- version<br />
<br />
if (length(filter) == 0) filter <- NULL<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
jaeid <- NULL<br />
<br />
if (!is.null(avainsanat)|!is.null(avainsanat_all)) {<br />
tags <- tags[tags$Result %in% c(avainsanat, avainsanat_all), ]<br />
jaeid <- unique(as.character(tags$JaeID))<br />
}<br />
<br />
if(!is.null(avainsanat_all)) {<br />
temp <- list()<br />
for (i in 1:nrow(jaeid)) {<br />
temp[[i]] <- avainsanat_all %in% tags$Result[tags$JaeID == jaeid[i]]<br />
}<br />
temp <- lapply(temp, all)<br />
jaeid <- jaeid[temp]<br />
tags <- tags[tags$JaeID %in% jaeid,]<br />
}<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt.\n")<br />
}<br />
<br />
if (is.null(filter)) {<br />
filter2 <- list()<br />
} else {<br />
filter2 <- filter<br />
}<br />
<br />
filter2$JaeID <- jaeid<br />
<br />
if (length(filter2) == 0) filter2 <- NULL<br />
<br />
if (jaelista) {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = filter2$Sivu, # *list$non-existent returns NULL<br />
versio = filter2$Versio, <br />
jae = filter2$JaeID<br />
)<br />
if (nrow(jakeet) == 0) {<br />
cat("Avainsanoissa listattuja jakeita ei löytynyt.\n")<br />
} else {<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Sisältö"<br />
tagged <- NULL<br />
if (nrow(tags) > 0) {<br />
#tagged <- join(<br />
# jakeet[c("Versio", "Sivu", "Aihe", "JaeID")], <br />
# tags[c("Versio", "Sivu", "JaeID", "Result")]<br />
#)<br />
#colnames(tagged)[colnames(tagged) == "Result"] <- "Avainsana"<br />
tagged <- tapply(tags$Result, tags[c("Versio", "Sivu", "JaeID")], paste, collapse = ", ")<br />
tagged <- as.data.frame(as.table(tagged))<br />
colnames(tagged)[colnames(tagged) == "Freq"] <- "Avainsanat"<br />
tagged <- join(<br />
jakeet[c("Versio", "Sivu", "JaeID", "Sisältö")], <br />
tagged[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
type = "inner",<br />
match = "first"<br />
)<br />
oprint(<br />
tagged[c("Versio", "Sivu", "JaeID", "Sisältö", "Avainsanat")],<br />
caption = "Jakeet", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = rep(0, 6)<br />
)<br />
}<br />
}<br />
}<br />
<br />
if (nrow(tags) > 0) {<br />
tags_out <- ddply(tags, "Result", nrow)<br />
colnames(tags_out) <- c("Avainsana", "Lukumäärä")<br />
tags_out <- tags_out[order(tags_out$Lukumäärä, decreasing = TRUE),]<br />
oprint(<br />
tags_out,<br />
caption = "Avainsanojen lukumäärät", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = c(0, 0, 0)<br />
)<br />
ggplot(tags_out, aes(x = Avainsana, y = Lukumäärä, fill = Avainsana)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Avainsanojen frekvenssit")<br />
}<br />
<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter3 <- list()<br />
filter3$Sivu1 <- sivu<br />
filter3$Versio <- version<br />
filter3$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter3$JaeID1 <- NULL<br />
filter3$Sivu1 <- NULL<br />
filter3$JaeID2 <- jaeid<br />
filter3$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
related <- rel[<br />
rel$Result %in% c(<br />
"on neutraali suhteessa", <br />
"on uusi linjaus tai painotus", <br />
"tukee tai on linjassa", <br />
"vastustaa tai on ristiriidassa"<br />
), ]<br />
related$Result <- as.character(related$Result)<br />
affected <- rel[<br />
rel$Result %in% c(<br />
"ehdotus ei ole antanut aihetta muutoksiin",<br />
"ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun", <br />
"ehdotus huomioitu ja liittyvää painotusta muutettu",<br />
"ehdotus huomioitu ja uusi kohta lisätty"<br />
), ]<br />
affected$Result <- as.character(affected$Result)<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin"] <- "Ei aihetta muutoksiin"<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun"] <- "Sisältyy valmiiksi"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja liittyvää painotusta muutettu"] <- "Huomioitu painotuksella"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja uusi kohta lisätty"] <- "Huomioitu lisäyksellä"<br />
<br />
related_out <- ddply(related, "Result", nrow)<br />
colnames(related_out) <- c("Relaatio", "Lukumäärä")<br />
<br />
affected_out <- ddply(affected, "Result", nrow)<br />
colnames(affected_out) <- c("Sisällytys", "Lukumäärä")<br />
}<br />
<br />
if (nrow(related_out > 0)) {<br />
ggplot(related_out, aes(x = Relaatio, y = Lukumäärä, fill = Relaatio)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Relaatioiden frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
<br />
if (nrow(affected_out > 0)) {<br />
ggplot(affected_out, aes(x = Sisällytys, y = Lukumäärä, fill = Sisällytys)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Sisällytyksen frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
</rcode><br />
=== Sulautus ===<br />
{{tuloslinkki}}<br />
<rcode label="Etsi sulautuksia" name="sulautus" embed=0 variables="<br />
name:sivu|description:Sivut joihin sulautus tehdään (kaikista edellisen version jakeista)|type:checkbox|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:toleranssi|description:Toleranssi (Levenshtein distance)|default:5|<br />
name:tallenna|description:Tallenna kantaan|type:selection|options:TRUE;Kyllä;FALSE;Ei|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
mdat <- get_meta_data(ident)<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
version <- c(version - 1, version)<br />
<br />
jakeet <- jaehakukone(ident, versio = version)<br />
<br />
ver1 <- jakeet[jakeet$Versio == version[1],]<br />
ver2 <- jakeet[jakeet$Versio == version[2] & jakeet$Sivu == sivu,]<br />
<br />
# adist too slow<br />
d <- adist(<br />
ver1$Result, <br />
ver2$Result,<br />
fixed = FALSE<br />
)<br />
d[is.na(d)] <- Inf<br />
#d_min <- apply(d, 1, min)<br />
#d_tol <- d <= toleranssi<br />
#d_out <- apply(d, 1, which.min)<br />
<br />
colnames(ver1)[colnames(ver1) == "Versio"] <- "Versio1"<br />
colnames(ver1)[colnames(ver1) == "Sivu"] <- "Sivu1"<br />
colnames(ver1)[colnames(ver1) == "JaeID"] <- "JaeID1"<br />
colnames(ver1)[colnames(ver1) == "Result"] <- "Result1"<br />
<br />
colnames(ver2)[colnames(ver2) == "Versio"] <- "Versio2"<br />
colnames(ver2)[colnames(ver2) == "Sivu"] <- "Sivu2"<br />
colnames(ver2)[colnames(ver2) == "JaeID"] <- "JaeID2"<br />
colnames(ver2)[colnames(ver2) == "Result"] <- "Result2"<br />
<br />
#out <- cbind(ver1[d_min <= toleranssi, ], ver2[d_out[d_min <= toleranssi], ])<br />
<br />
d <- alply(d, 1, I)<br />
d_tol <- llply(d, function(x) {x <= toleranssi})<br />
d_reps <- laply(d_tol, sum)<br />
d_w <- llply(d_tol, which)<br />
d_w <- unlist(d_w)<br />
<br />
out <- cbind(ver1[rep(1:nrow(ver1), d_reps),], ver2[d_w, ])<br />
<br />
#d <- NULL<br />
#n <- NULL<br />
#for (i in 1:nrow(ver1)) {<br />
# for (j in split(ver2$Result, ceiling((1:nrow(ver2)) / 100))) {<br />
# temp <- agrep(ver1$Result[i], j, toleranssi)<br />
# d <- append(d, temp)<br />
# n <- append(n, length(temp))<br />
# }<br />
#}<br />
<br />
#out <- cbind(<br />
# ver1[rep(1:nrow(ver1), n),],<br />
# ver2[d,]<br />
#)<br />
if (tallenna) {<br />
opbase.upload(<br />
out,<br />
name = pagename,<br />
who = wiki_username,<br />
subset = "Sulautukset"<br />
)<br />
} else { <br />
oprint(<br />
out, <br />
include.rownames = FALSE, <br />
digits = rep(0, ncol(out) + 1), <br />
caption("Sulautus uuteen versioon"), <br />
caption.placement = "top",<br />
show.all = TRUE<br />
)<br />
}<br />
</rcode></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Liikenne_ja_viestint%C3%A4_digitaalisessa_Suomessa_2020/Sis%C3%A4ll%C3%B6nanalyysi&diff=25116
Liikenne ja viestintä digitaalisessa Suomessa 2020/Sisällönanalyysi
2014-07-28T11:45:28Z
<p>Teemu R: /* Tägikone */</p>
<hr />
<div>{{LVM}}<br />
<br />
'''Tällä sivulla voit tarkastella liikenneministeriön tulevaisuuskatsauksen sisältöä ja kansalaisten antamien kommenttien suhdetta siihen. <br />
Alla olevilla työkaluilla voit hakea tekstin jakeita eli erillisiä tekstikappaleita ja niihin liittyviä avainsanoja tai muita jakeita. Relaatiot tarkoittavat kuvailua siitä, millä tavalla kaksi jaetta liittyy toisiinsa.<br />
<br />
== Tägikone ==<br />
{{tuloslinkki}}<br />
<rcode label="Päivitä tietokantarakenne" variables="<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
<br />
jakeet <- opbase.data(paste("Op_fi4362", "Jakeet", sep = "."), 12748)<br />
jakeet$Versio <- 1<br />
temp <- jakeet[grep("^U", jakeet$JaeID),]<br />
temp <- jakeet[!(jakeet$Sivu %in% unique(as.character(temp$Sivu))),]<br />
temp$Versio <- 2<br />
jakeet$Versio[grep("^U", jakeet$JaeID)] <- 2<br />
jakeet$JaeID <- gsub("[A-Za-z]", "", as.character(jakeet$JaeID))<br />
jakeet <- rbind(jakeet, temp)<br />
jakeet$Aihe <- NA<br />
<br />
ymjakeet <- opbase.data("Op_fi4530.jakeet")<br />
ymspan <- 1:nrow(ymjakeet)<br />
ymjakeet <- ymjakeet[rep(ymspan, 2), ]<br />
ymjakeet$Versio <- 2<br />
ymjakeet$Versio[ymspan] <- 1<br />
<br />
jakeet <- rbind.fill(jakeet, ymjakeet)<br />
<br />
opbase.upload(<br />
jakeet[c("Versio", "Sivu", "Aihe", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeet"<br />
)<br />
<br />
jaepois <- opbase.data(paste("Op_fi4362", "Jakeenpoistot", sep = "."))<br />
#jaepois <- data.frame(<br />
# Versio = 0,<br />
# Sivu = NA, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
jaepois$Versio <- 1<br />
jaepois$Aika <- NA # date()<br />
jaepois$Käyttäjä <- NA # wiki_username<br />
jaepois$Versio[grep("^[Uu]", jaepois$Result)] <- 2<br />
temp <- jaepois[!(jaepois$Sivu %in% unique(jaepois$Sivu[jaepois$Versio == 2])), ]<br />
temp$Versio <- 2<br />
jaepois <- rbind(jaepois, temp)<br />
<br />
ymjaepois <- tryCatch(<br />
opbase.data("Op_fi4530.jakeenpoistot"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymjaepois)) {<br />
ymspan <- 1:nrow(ymjaepois)<br />
ymjaepois <- ymjaepois[rep(ymspan, 2), ]<br />
ymjaepois$Versio <- 2<br />
ymjaepois$Versio[ymspan] <- 1<br />
<br />
jaepois <- rbind.fill(jaepois, ymjaepois)<br />
}<br />
<br />
opbase.upload(<br />
jaepois[c("Versio", "Sivu", "Aika", "Käyttäjä", "Syy", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeenpoistot"<br />
)<br />
<br />
jaelisa <- opbase.data(paste("Op_fi4362", "jakeenlisays", sep = "."))<br />
#out <- data.frame( <br />
# Versio = 0,<br />
# Sivu = NA, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# JaeID = NA,<br />
# Result = "Alustus"<br />
#)<br />
jaelisa$Versio <- 1<br />
jaelisa$Aika <- NA # date()<br />
jaelisa$Käyttäjä <- NA # wiki_username<br />
temp <- jaelisa<br />
temp$Versio <- 2<br />
jaelisa <- rbind(jaelisa, temp)<br />
<br />
ymjaelisa <- tryCatch(<br />
opbase.data("Op_fi4530.jakeenlisaykset"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymjaelisa)) {<br />
ymspan <- 1:nrow(ymjaelisa)<br />
ymjaelisa <- ymjaelisa[rep(ymspan, 2), ]<br />
ymjaelisa$Versio <- 2<br />
ymjaelisa$Versio[ymspan] <- 1<br />
<br />
jaelisa <- rbind.fill(jaelisa, ymjaelisa)<br />
}<br />
<br />
opbase.upload(<br />
jaelisa[c("Versio", "Sivu", "Aika", "Käyttäjä", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeenlisaykset"<br />
)<br />
<br />
avainsanat <- opbase.data(paste("Op_fi4362", "avainsanat", sep = "."))<br />
<br />
#out <- data.frame(<br />
# AvainsanaID = NA, <br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Sivu = NA,<br />
# JaeID = NA, <br />
# Result = "Alustus"<br />
#)<br />
avainsanat$AvainsanaID <- 1:nrow(avainsanat)<br />
avainsanat$Versio <- 1<br />
avainsanat$JaeID <- avainsanat$Jae<br />
avainsanat$Result <- avainsanat$Avainsana<br />
temp <- avainsanat<br />
temp$Versio <- 2<br />
avainsanat <- rbind(avainsanat, temp)<br />
<br />
ymavainsanat <- tryCatch(<br />
opbase.data("Op_fi4530.avainsanat"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymavainsanat)) {<br />
ymavainsanat$AvainsanaID <- ymavainsanat$AvainsanaID + nrow(avainsanat)<br />
ymspan <- 1:nrow(ymavainsanat)<br />
ymavainsanat <- ymavainsanat[rep(ymspan, 2), ]<br />
ymavainsanat$Versio <- 2<br />
ymavainsanat$Versio[ymspan] <- 1<br />
<br />
avainsanat <- rbind.fill(avainsanat, ymavainsanat)<br />
}<br />
<br />
opbase.upload(<br />
avainsanat[c("AvainsanaID", "Versio", "Aika", "Käyttäjä", "Sivu", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Avainsanat"<br />
)<br />
<br />
# Tuli LVM tägikoneen päivityksen kanssa tämmönen ongelma vastaan: Edellisen tägikoneen relaatioiden <br />
# syöttökoodin takia jakeet on usein relaatiossa sen jakeen kanssa johon ne on sisällytetty (vastustaa/puolustaa/jne), <br />
# mikä ei käy järkeen koska relaatiot pätevät pääasiassa saman version sisällä toisin kuin sisällytys mikä tapahtuu <br />
# seuraavaan versioon. Sisällytys on ihan eri asia kuin relaatio, se on vaan samanmuotoinen kuin relaatio ja siksi <br />
# samassa taulussa, tai ainakin tää on mun tämänhetkinen tulkinta.<br />
<br />
# Ongelma on siis tän LVM tägäyksen kanssa siinä että relaatio ja sisällytys piti antaa samanaikaisesti<br />
<br />
rel <- opbase.data(paste("Op_fi4362", "relaatiot", sep = "."))<br />
<br />
#out <- data.frame(<br />
# RelaatioID = NA,<br />
# Versio = 0, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username, <br />
# Sivu1 = NA,<br />
# JaeID1 = NA,<br />
# Sivu2 = NA,<br />
# JaeID2 = NA,<br />
# Result = "Alustus"<br />
#)<br />
#rel$RelaatioID <- 1:nrow(rel)<br />
rel$Versio <- 1<br />
rel$Sivu1 <- rel$Sivu<br />
rel$JaeID1 <- rel$Jae<br />
rel$Sivu2 <- rel$Liittymäsivu<br />
rel$JaeID2 <- rel$Liittymäjae<br />
<br />
rel1 <- rel<br />
rel1$Result <- rel$Liittyminen<br />
temp1 <- rel1[grep("^[Uu]", rel1$JaeID2),]<br />
temp1$Versio <- 2<br />
rel1 <- rel1[-grep("^[Uu]", rel1$JaeID2),]<br />
relt <- rel1<br />
relt$Versio <- 2<br />
rel1 <- rbind(rel1, relt)<br />
rel1 <- rbind(rel1, temp1)<br />
<br />
rel2 <- rel<br />
rel2$Result <- rel$Sisällytys<br />
temp2 <- rel2[grep("^[Uu]", rel2$JaeID2),]<br />
temp2$JaeID2 <- gsub("^[Uu]", "", as.character(temp2$JaeID2))<br />
#temp2$Versio <- 1<br />
rel2 <- rel2[-grep("^[Uu]", rel2$JaeID2),]<br />
rel2 <- rbind(rel2, temp2)<br />
<br />
#rel1$RelaatioID <- 1:nrow(rel1)<br />
#rel2$RelaatioID <- 1:nrow(rel2)<br />
<br />
rel <- rbind(rel1, rel2)<br />
rel$JaeID1 <- gsub("^[Uu]", "", as.character(rel$JaeID1))<br />
rel$JaeID2 <- gsub("^[Uu]", "", as.character(rel$JaeID2))<br />
<br />
ymrel <- tryCatch(<br />
opbase.data("Op_fi4530.relaatiot"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymrel)) {<br />
ymspan <- 1:nrow(ymrel)<br />
ymrel <- ymrel[rep(ymspan, 2), ]<br />
ymrel$Versio <- 2<br />
ymrel$Versio[ymspan] <- 1<br />
<br />
rel <- rbind.fill(rel, ymrel)<br />
}<br />
<br />
rel$RelaatioID[rel$Versio == 1] <- 1:nrow(rel[rel$Versio == 1,])<br />
rel$RelaatioID[rel$Versio == 2] <- 1:nrow(rel[rel$Versio == 2,])<br />
<br />
opbase.upload(<br />
rel[c("RelaatioID", "Aika", "Käyttäjä", "Sivu1", "JaeID1", "Sivu2", "JaeID2", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Relaatiot"<br />
)<br />
<br />
#out <- data.frame(<br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
<br />
out <- tryCatch(<br />
opbase.data(ident, subset = "relaationpoistot", exclude = list(Sivu = "Ympäristöministeriön tulevaisuuskatsaus")),<br />
error = function(...) return(NULL)<br />
)<br />
ymout <- tryCatch(<br />
opbase.data("Op_fi4530.relaationpoistot"),<br />
error = function(...) return(NULL)<br />
)<br />
<br />
out <- rbind(out, ymout)<br />
<br />
if (!is.null(out)) {<br />
opbase.upload(<br />
out, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
who = wiki_username<br />
)<br />
}<br />
<br />
<br />
#out <- data.frame(<br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
<br />
out <- tryCatch(<br />
opbase.data(ident, subset = "Avainsananpoistot", exclude = list(Sivu = "Ympäristöministeriön tulevaisuuskatsaus")),<br />
error = function(...) return(NULL)<br />
)<br />
ymout <- tryCatch(<br />
opbase.data("Op_fi4530.Avainsananpoistot"),<br />
error = function(...) return(NULL)<br />
)<br />
<br />
out <- rbind(out, ymout)<br />
<br />
if (!is.null(out)) {<br />
opbase.upload(<br />
out, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
who = wiki_username<br />
)<br />
}<br />
<br />
<br />
<br />
#opbase.upload(<br />
# out, <br />
# name = pagename, <br />
# subset = "Avainsananpoistot", <br />
# who = wiki_username<br />
#)<br />
</rcode><br />
=== Versiot ===<br />
<t2b name="Versiot" index="Versio,Sivu,Ident" unit="OldID"><br />
1|Liikenne ja viestintä palveluna|Op_fi4248|<br />
1|Liikenteen palvelumarkkinat|Op_fi4253|<br />
1|Liikenteen energiareformi|Op_fi4254|<br />
1|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
1|Monipuoliset sisällöt|Op_fi4256|<br />
1|Oma Painotus Teema I|Op_fi4257|<br />
1|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
1|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
1|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
1|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
1|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
1|Oma Painotus Teema II|Op_fi4262|<br />
1|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
1|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
1|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
1|Arktinen strategia|Op_fi4265|<br />
1|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
1|Oma Painotus Teema III|Op_fi4267|<br />
2|Liikenne ja viestintä palveluna|Op_fi4248|<br />
2|Liikenteen palvelumarkkinat|Op_fi4253|<br />
2|Liikenteen energiareformi|Op_fi4254|<br />
2|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
2|Monipuoliset sisällöt|Op_fi4256|<br />
2|Oma Painotus Teema I|Op_fi4257|<br />
2|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
2|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
2|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
2|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
2|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
2|Oma Painotus Teema II|Op_fi4262|<br />
2|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
2|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
2|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
2|Arktinen strategia|Op_fi4265|<br />
2|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
2|Oma Painotus Teema III|Op_fi4267|<br />
</t2b><br />
<br />
===Jakeet===<br />
'''Kaikkien kenttien arvot saa erotella pilkuilla tässä haussa'''<br />
<rcode label="Näytä jakeet" name="jakeet" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Jakeita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
<rcode label="Poista jae" name="jakeenpoisto" embed=1 variables="<br />
name:sivu|description:Poistettavan jakeen sivu|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Poistettavan jakeen ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Tekninen jae';Tekninen jae;<br />
'Jae ei liity sivun aiheeseen';Jae ei liity sivun aiheeseen;<br />
'Jae on häiriköintiä';Jae on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jaeid <- strsplit(jaeid, ",", fixed = TRUE)[[1]]<br />
jaeid <- gsub(" ", "", jaeid)<br />
<br />
if (sum(nchar(jaeid)) == 0) stop("Anna jakeen ID")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame(<br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = as.character(jaeid)<br />
)<br />
<br />
opbase.upload(<br />
out, <br />
who = wiki_username, <br />
name = pagename,<br />
subset = "Jakeenpoistot",<br />
act_type = "append", <br />
language = "fin"<br />
)<br />
</rcode><br />
<br />
<rcode label="Lisää jae" name="jakeenlisays" embed=1 variables="<br />
name:sivu|description:Sivu jolle jae lisätään|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:sisalto|description:Jakeen sisältö|type:textbox|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame( <br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
JaeID = NA,<br />
Result = sisalto<br />
)<br />
<br />
ident.subset <- paste(ident, "Jakeenlisaykset", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
filter$Sivu <- sivu<br />
<br />
upload_with_autoid(<br />
out,<br />
ident.subset,<br />
id_name = "JaeID",<br />
pagename = pagename,<br />
prefix = "L",<br />
filter = filter<br />
)<br />
</rcode><br />
<br />
=== Avainsanat ===<br />
<rcode label="Näytä avainsanat" name="avainsanat_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka avainsanoja haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
out <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<rcode label="Lisää avainsana" name="avainsanat" embed=1 variables="<br />
name:sivu|description:Minkä sivun jakeelle haluat lisätä avainsanoja?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Mikä on jakeen versio?|type:text|default:nykyinen|<br />
name:jae|description:Mikä on jakeen ID?|type:text|<br />
name:yl_avainsanat|description:Valitse alla olevasta listasta yleisiä avainsanoja.|type:checkbox|options:<br />
'Päätös';A Päätös (jae sisältää päätös- tai toimintaehdotuksen);<br />
'Vaikutus';B Vaikutus (jae kuvaa ilmiötä tai vaikutusta);<br />
'Arvo';C Arvo (jakeessa on arvoarvostelma tai kuvaa asian merkitystä);<br />
'Työn tekemiseen liittyvä';D Katsaustyön tekemiseen liittyvä;<br />
'Epäselvä luokka';E Ei mikään edellisistä (valitse ainakin yksi A-E)|<br />
name:avainsanat|description:Laita halutessasi yllä listaamattomattomia avainsanoja tähän pilkulla eroteltuna.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
avainsanat <- strsplit(avainsanat, ",", fixed = TRUE)[[1]]<br />
avainsanat <- gsub(" ", "", avainsanat)<br />
avainsanat <- avainsanat[nchar(avainsanat) > 0]<br />
avainsanat <- c(yl_avainsanat, avainsanat)<br />
if (length(avainsanat) == 0) stop("Yhtään avainsanaa ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
AvainsanaID = NA, <br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Sivu = sivu,<br />
JaeID = as.character(jae), <br />
Result = avainsanat<br />
)<br />
<br />
ident.subset <- paste(ident, "Avainsanat", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "AvainsanaID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Avainsanojen lisääminen onnistui.\n")<br />
</rcode><br />
<br />
<rcode name="avainsananpoisto" embed=1 label="Poista avainsana" showcode=0 variables="<br />
name:avid|description:Poistettavan avainsanan ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Avainsana ei päde uudessa versiossa';Avainsana ei päde uudessa versiossa;<br />
'Virheellinen avainsana';Virheellinen avainsana|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
avid <- strsplit(avid, ",", fixed = TRUE)[[1]]<br />
avid <- gsub(" ", "", avid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = avid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Avainsana poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Relaatiot ===<br />
<rcode label="Näytä relaatiot" name="relaatiot_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka relaatioita haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
out <- rbind(rel1, rel2)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(<br />
out, <br />
include.rownames = FALSE,<br />
caption = "Relaatiot", <br />
caption.placement = "top"<br />
)<br />
} else {<br />
cat("Relaatioita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
<rcode label="Lisää relaatio" name="relaatio" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:nykyinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID?|type:text|<br />
name:relaatio|description:'''Kuinka lähtöjae liittyy kohdejakeeseen?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'tukee tai on linjassa';tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';on neutraali suhteessa;<br />
'on uusi linjaus tai painotus';on uusi linjaus tai painotus;<br />
'kuuluu ryhmään/kokoelmaan';kuuluu ryhmään/kokoelmaan|<br />
name:lisarelaatio|description:VAPAAEHTOINEN Voit antaa oman jakeiden välisen relaation vapaakenttään.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
relaatio <- ifelse(lisarelaatio == '', relaatio, lisarelaatio)<br />
if (nchar(gsub(" ", "", relaatio)) == 0) stop("Relaatiota ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = relaatio<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Relaation lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
<rcode label="Lisää sisällytys" name="sisallytys" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:edellinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID (uudemmassa versiossa)?|type:text|<br />
name:sisallytys|description:'''Sisällytettiinkö ehdotus uudempaan versioon?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun;<br />
'ehdotus ei ole antanut aihetta muutoksiin';ehdotus ei ole antanut aihetta muutoksiin|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
if (nchar(gsub(" ", "", sisallytys)) == 0) stop("Sisällytyksen tyyppiä ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "edellinen") {<br />
version <- get_current_version(ident) - 1<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = sisallytys<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Sisällytyksen lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
<rcode name="relaationpoisto" embed=1 label="Poista relaatio" showcode=0 variables="<br />
name:relid|description:Poistettavan relaation ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Relaatio ei päde uudessa versiossa';Relaatio ei päde uudessa versiossa;<br />
'Virheellinen relaatio';Virheellinen relaatio|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
relid <- strsplit(relid, ",", fixed = TRUE)[[1]]<br />
relid <- gsub(" ", "", relid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = relid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Relaatio poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Kehittyneemmät hakukoneet ===<br />
'''Hae jakeita ja niihin liittyviä avainsanoja'''<br />
<rcode label="Hae" name="avainsanat_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) == 0) {<br />
stop("Jakeita ei löytynyt!")<br />
}<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
} else {<br />
colnames(tags)[colnames(tags) == "Result"] <- "Avainsana"<br />
out <- join(<br />
tags[c("Versio", "Sivu", "JaeID", "AvainsanaID", "Avainsana")],<br />
out[c("Versio", "Sivu", "JaeID", "Result")]<br />
)<br />
# Jos annettiin vain yksi versio ja/tai sivu niin niitä ei tarvitse printata<br />
filter_ind <- NULL<br />
if (length(version) != 1) filter_ind <- c(filter_ind, "Versio")<br />
if (length(sivu) != 1) filter_ind <- c(filter_ind, "Sivu")<br />
filter_ind <- c(filter_ind, "JaeID")<br />
oprint(out[c(filter_ind, "Result", "AvainsanaID", "Avainsana")], include.rownames = FALSE, show_all = TRUE)<br />
}<br />
</rcode><br />
<br />
'''Hae relaatioita ja niihin kuuluvia jakeita'''<br />
<rcode label="Hae" name="relaatiot_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta relaatioita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:liitsis|description:Liittymistyyppi (tyhjä = kaikki)|type:checkbox|options:<br />
'tukee tai on linjassa';Tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';Vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';On neutraali suhteessa;<br />
'on uusi linjaus tai painotus';On uusi linjaus tai painotus;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';Ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';Ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin';Ehdotus ei ole antanut aihetta muutoksiin;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';Ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
# Eri sisältymistyypit pitää määritellä niin että ne voidaan käsitellä erillään muista relaatioista<br />
sis_opt <- c(<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu',<br />
'ehdotus huomioitu ja uusi kohta lisätty',<br />
'ehdotus ei ole antanut aihetta muutoksiin', <br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun'<br />
)<br />
#liit_opt <- c(<br />
# 'tukee tai on linjassa',<br />
# 'vastustaa tai on ristiriidassa',<br />
# 'on neutraali suhteessa',<br />
# 'on uusi linjaus tai painotus'<br />
#)<br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (!is.null(liitsis)) rel <- rel[rel$Result %in% liitsis, ]<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = unique(c(<br />
as.character(rel$Sivu1), <br />
as.character(rel$Sivu2)<br />
)), <br />
versio = version, <br />
jae = unique(c(<br />
as.character(rel$JaeID1), <br />
as.character(rel$JaeID2)<br />
))<br />
)<br />
if (nrow(jakeet) == 0) stop("Relaatioissa listattuja jakeita ei löytynyt!")<br />
<br />
# Relaatiot<br />
if (nrow(rel[!(rel$Relaatio %in% sis_opt),]) > 0) {<br />
jakeet <- jakeet[c("Versio", "Sivu", "JaeID", "Result")]<br />
colnames(jakeet)[colnames(jakeet) == "JaeID"] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu"] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Jae1"<br />
rel <- rel[c("RelaatioID", "Versio", "Sivu1", "JaeID1", "Result", "Sivu2", "JaeID2")]<br />
colnames(rel)[colnames(rel) == "Result"] <- "Relaatio"<br />
out <- join(<br />
rel[(!(rel$Relaatio %in% sis_opt)) & rel$Versio %in% original_version,], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei relaatioita!\n")<br />
}<br />
<br />
# Sisällytykset<br />
if (nrow(rel[(rel$Relaatio %in% sis_opt),]) > 0) {<br />
colnames(jakeet)[colnames(jakeet) %in% c("JaeID","JaeID2")] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Sivu", "Sivu2")] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Result", "Jae2")] <- "Jae1"<br />
colnames(rel)[colnames(rel) == "Relaatio"] <- "Sisällytys"<br />
out <- join(<br />
rel[rel$Sisällytys %in% sis_opt & rel$Versio %in% version[-length(version)],], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
jakeet$Versio <- as.numeric(as.character(jakeet$Versio)) - 1<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Sisällytys", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Sisällytys (uudempaan versioon)", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei sisällytyksiä!\n")<br />
}<br />
}<br />
</rcode><br />
<br />
===Analyysi===<br />
'''Tässä voit hakea jakeita ja analysoida niiden määriä hakemalla yhdellä tai useammalla avainsanalla. '''<br />
<br />
Käytetyt avainsanat:<br />
{{piilotettu|<br />
3D-tulostus Aikataulut Ajoneuvokanta Alueellisuus <br />
alustus Ammattiryhmät Arvo Asutus <br />
Aurinko Automatisaatio Avoimuus Big Data <br />
Biopolttoaine Dataliikenne Digitalisoituminen Eettisyys <br />
eIDAS Elintaso Energia Epäselvä luokka <br />
Eriarvoisuus Erityisryhmät Esineiden internet Globaalius <br />
Globaaluis Henkilökortti Henkilötiedot Huutokauppa <br />
Hybridi Hybridi-TV Hyvinvointi Hyvinvointiyhteiskunta <br />
Häiriöt Ilmasto Infrastruktuuri Innovatiivisus <br />
Innovatiivisuus Internet Investoinnit Joukkoliikenne <br />
Joustavuus Julkinen valta Kaivosteollisuus Kansainvälisyys <br />
Kasvihuonekaasut Kaupallisuus Kaupungit Kehitys <br />
Kestävyys Kevyen liikenteen väylät Kevytliikenne Kiinteistöt <br />
Kilpailu Kilpailukyky Konesalit Konkreettisuus <br />
Kotimaisuus Koulutus Kunnat Kustannustehokkuus <br />
Kuuluvuus Kävely Laajakaista Lainsäädäntö <br />
Laiton tarjonta Langattomuus Lappi Lentoliikenne <br />
Liikenne Liikenneverkostot Liikkumistili Linja-autot <br />
Logistiikka Luonnonsuojelu Lämmitys Maakaasu <br />
Maatalous Mainonta Markkinat Massavalvonta <br />
Meriliikenne Metadata Mobiiliverkko Mopot <br />
Nopeus Ohjaus Ohjelmistot Ohjelmistotoimittaja <br />
Oikeusturva Omavaraisuus Operaattori Osaaminen <br />
Ostovoima Palaute Palvelut Palvelutaso <br />
Peruskunto Pilvipalvelut Polttoaine Posti <br />
Puelueettomuus Pysäköinti Pyöräily Päivitys <br />
Pääkaupunkiseutu Päästöt Päätöksenteko Päätös <br />
Raha Rahoitus Rahtliikenne Rajapinnat <br />
Rakennemuutos Rakentaminen Raskas liikenne Rautatiet <br />
Riippuvuus Rikokset Robotisaatio Ruuhkamaksu <br />
Ruuhkautuminen Saatavuus Sateliittipaikannus Sovellukset <br />
Strategia Suunnittelu Sähkö Sähköauto <br />
Sääntely Säästöt Talous Talouskasvu <br />
Tarpeet Tasa-arvo Tasapuolisuus Tasavertaisuus <br />
Tavaraliikenne Tehokkuus Tekijänoikeus Tekniikkaneutraalius <br />
Tekninen tuki Teknologia Teknologianeutraalius Teollisuus <br />
Terveydenhuolto Terveys testi Tiedon avoimuus <br />
Tiedon hallinnointi Tiedon hallinta Tiedon hyödyntäminen Tieliikenne <br />
Tietoliikenne Tietoturva Toimilupa Toiminta <br />
Toimintavarmuus Toimivuus Tuki Turvallisuus <br />
Turvaverkko Tutkimus Tuuli TV <br />
Työllisyys Työn tekemiseen liittyvä Ulkomaat Uudistus <br />
Vaihtoehtoiset polttoaineet Vaikuttaminen Vaikutus Vakuutus <br />
Valinnanvapaus Valtio Varmenne Varmuus <br />
Vastuu Verkostoituminen Verotus Vesiliikenne <br />
Vesiliikenne, Tasavertaisuus Viestintäverkot Viranomaiset Yhteensopivuus <br />
Yhteiskunta Yhteiskuntamurros Yhteistyö Yhteysnopeus <br />
Yksityisautoilu Yksityisyydensuoja YLE Yleispalvelu <br />
Yleisradio Ympäristö Yritykset Öljy <br />
}}<br />
<br />
<rcode label="Näytä jakeita/tilastoja" name="jae_stats" embed=1 graphics=1 variables="<br />
name:sivu|description:Minkä sivun jakeita haluat tarkastella?|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:avainsanat|description:Hae jakeita joilla on ainakin yksi seuraavista avainsanoista|type:text|<br />
name:avainsanat_all|description:Hae jakeita joilla on kaikki seuraavat avainsanat|type:text|<br />
name:jaelista|description:Haluatko nähdä kaikki löydetyt jakeet?|type:selection|options:FALSE;En;TRUE;Kyllä|default:FALSE|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
library(ggplot2)<br />
<br />
filter <- list()<br />
if (nchar(gsub(" ", "", avainsanat)) > 0) {<br />
avainsanat <- strsplit(avainsanat, ",")[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat) <br />
} else {<br />
avainsanat <- NULL<br />
}<br />
if (nchar(gsub(" ", "", avainsanat_all)) > 0) {<br />
avainsanat_all <- strsplit(avainsanat_all, ",")[[1]]<br />
avainsanat_all <- gsub("^\\s*|\\s*$", "", avainsanat_all)<br />
#filter$Avainsana <- avainsanat_all<br />
} else {<br />
avainsanat_all <- NULL<br />
}<br />
filter$Sivu <- sivu<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
filter$Versio <- version<br />
<br />
if (length(filter) == 0) filter <- NULL<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
jaeid <- NULL<br />
<br />
if (!is.null(avainsanat)|!is.null(avainsanat_all)) {<br />
tags <- tags[tags$Result %in% c(avainsanat, avainsanat_all), ]<br />
jaeid <- unique(as.character(tags$JaeID))<br />
}<br />
<br />
if(!is.null(avainsanat_all)) {<br />
temp <- list()<br />
for (i in 1:nrow(jaeid)) {<br />
temp[[i]] <- avainsanat_all %in% tags$Result[tags$JaeID == jaeid[i]]<br />
}<br />
temp <- lapply(temp, all)<br />
jaeid <- jaeid[temp]<br />
tags <- tags[tags$JaeID %in% jaeid,]<br />
}<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt.\n")<br />
}<br />
<br />
if (is.null(filter)) {<br />
filter2 <- list()<br />
} else {<br />
filter2 <- filter<br />
}<br />
<br />
filter2$JaeID <- jaeid<br />
<br />
if (length(filter2) == 0) filter2 <- NULL<br />
<br />
if (jaelista) {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = filter2$Sivu, # *list$non-existent returns NULL<br />
versio = filter2$Versio, <br />
jae = filter2$JaeID<br />
)<br />
if (nrow(jakeet) == 0) {<br />
cat("Avainsanoissa listattuja jakeita ei löytynyt.\n")<br />
} else {<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Sisältö"<br />
tagged <- NULL<br />
if (nrow(tags) > 0) {<br />
#tagged <- join(<br />
# jakeet[c("Versio", "Sivu", "Aihe", "JaeID")], <br />
# tags[c("Versio", "Sivu", "JaeID", "Result")]<br />
#)<br />
#colnames(tagged)[colnames(tagged) == "Result"] <- "Avainsana"<br />
tagged <- tapply(tags$Result, tags[c("Versio", "Sivu", "JaeID")], paste, collapse = ", ")<br />
tagged <- as.data.frame(as.table(tagged))<br />
colnames(tagged)[colnames(tagged) == "Freq"] <- "Avainsanat"<br />
tagged <- join(<br />
jakeet[c("Versio", "Sivu", "JaeID", "Sisältö")], <br />
tagged[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
type = "inner",<br />
match = "first"<br />
)<br />
oprint(<br />
tagged[c("Versio", "Sivu", "JaeID", "Sisältö", "Avainsanat")],<br />
caption = "Jakeet", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = rep(0, 6)<br />
)<br />
}<br />
}<br />
}<br />
<br />
if (nrow(tags) > 0) {<br />
tags_out <- ddply(tags, "Result", nrow)<br />
colnames(tags_out) <- c("Avainsana", "Lukumäärä")<br />
tags_out <- tags_out[order(tags_out$Lukumäärä, decreasing = TRUE),]<br />
oprint(<br />
tags_out,<br />
caption = "Avainsanojen lukumäärät", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = c(0, 0, 0)<br />
)<br />
ggplot(tags_out, aes(x = Avainsana, y = Lukumäärä, fill = Avainsana)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Avainsanojen frekvenssit")<br />
}<br />
<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter3 <- list()<br />
filter3$Sivu1 <- sivu<br />
filter3$Versio <- version<br />
filter3$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter3$JaeID1 <- NULL<br />
filter3$Sivu1 <- NULL<br />
filter3$JaeID2 <- jaeid<br />
filter3$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
related <- rel[<br />
rel$Result %in% c(<br />
"on neutraali suhteessa", <br />
"on uusi linjaus tai painotus", <br />
"tukee tai on linjassa", <br />
"vastustaa tai on ristiriidassa"<br />
), ]<br />
related$Result <- as.character(related$Result)<br />
affected <- rel[<br />
rel$Result %in% c(<br />
"ehdotus ei ole antanut aihetta muutoksiin",<br />
"ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun", <br />
"ehdotus huomioitu ja liittyvää painotusta muutettu",<br />
"ehdotus huomioitu ja uusi kohta lisätty"<br />
), ]<br />
affected$Result <- as.character(affected$Result)<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin"] <- "Ei aihetta muutoksiin"<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun"] <- "Sisältyy valmiiksi"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja liittyvää painotusta muutettu"] <- "Huomioitu painotuksella"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja uusi kohta lisätty"] <- "Huomioitu lisäyksellä"<br />
<br />
related_out <- ddply(related, "Result", nrow)<br />
colnames(related_out) <- c("Relaatio", "Lukumäärä")<br />
<br />
affected_out <- ddply(affected, "Result", nrow)<br />
colnames(affected_out) <- c("Sisällytys", "Lukumäärä")<br />
}<br />
<br />
if (nrow(related_out > 0)) {<br />
ggplot(related_out, aes(x = Relaatio, y = Lukumäärä, fill = Relaatio)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Relaatioiden frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
<br />
if (nrow(affected_out > 0)) {<br />
ggplot(affected_out, aes(x = Sisällytys, y = Lukumäärä, fill = Sisällytys)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Sisällytyksen frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
</rcode><br />
=== Sulautus ===<br />
{{tuloslinkki}}<br />
<rcode label="Etsi sulautuksia" name="sulautus" embed=0 variables="<br />
name:sivu|description:Sivut joihin sulautus tehdään (kaikista edellisen version jakeista)|type:checkbox|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:toleranssi|description:Toleranssi (Levenshtein distance)|default:5|<br />
name:tallenna|description:Tallenna kantaan|type:selection|options:TRUE;Kyllä;FALSE;Ei|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
mdat <- get_meta_data(ident)<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
version <- c(version - 1, version)<br />
<br />
jakeet <- jaehakukone(ident, versio = version)<br />
<br />
ver1 <- jakeet[jakeet$Versio == version[1],]<br />
ver2 <- jakeet[jakeet$Versio == version[2] & jakeet$Sivu == sivu,]<br />
<br />
# adist too slow<br />
d <- adist(<br />
ver1$Result, <br />
ver2$Result,<br />
fixed = FALSE<br />
)<br />
d[is.na(d)] <- Inf<br />
#d_min <- apply(d, 1, min)<br />
#d_tol <- d <= toleranssi<br />
#d_out <- apply(d, 1, which.min)<br />
<br />
colnames(ver1)[colnames(ver1) == "Versio"] <- "Versio1"<br />
colnames(ver1)[colnames(ver1) == "Sivu"] <- "Sivu1"<br />
colnames(ver1)[colnames(ver1) == "JaeID"] <- "JaeID1"<br />
colnames(ver1)[colnames(ver1) == "Result"] <- "Result1"<br />
<br />
colnames(ver2)[colnames(ver2) == "Versio"] <- "Versio2"<br />
colnames(ver2)[colnames(ver2) == "Sivu"] <- "Sivu2"<br />
colnames(ver2)[colnames(ver2) == "JaeID"] <- "JaeID2"<br />
colnames(ver2)[colnames(ver2) == "Result"] <- "Result2"<br />
<br />
#out <- cbind(ver1[d_min <= toleranssi, ], ver2[d_out[d_min <= toleranssi], ])<br />
<br />
d <- alply(d, 1, I)<br />
d_tol <- llply(d, function(x) {x <= toleranssi})<br />
d_reps <- laply(d_tol, sum)<br />
d_w <- llply(d_tol, which)<br />
d_w <- unlist(d_w)<br />
<br />
out <- cbind(ver1[rep(1:nrow(ver1), d_reps),], ver2[d_w, ])<br />
<br />
#d <- NULL<br />
#n <- NULL<br />
#for (i in 1:nrow(ver1)) {<br />
# for (j in split(ver2$Result, ceiling((1:nrow(ver2)) / 100))) {<br />
# temp <- agrep(ver1$Result[i], j, toleranssi)<br />
# d <- append(d, temp)<br />
# n <- append(n, length(temp))<br />
# }<br />
#}<br />
<br />
#out <- cbind(<br />
# ver1[rep(1:nrow(ver1), n),],<br />
# ver2[d,]<br />
#)<br />
if (tallenna) {<br />
opbase.upload(<br />
out,<br />
name = pagename,<br />
who = wiki_username,<br />
subset = "Sulautukset"<br />
)<br />
} else { <br />
oprint(<br />
out, <br />
include.rownames = FALSE, <br />
digits = rep(0, ncol(out) + 1), <br />
caption("Sulautus uuteen versioon"), <br />
caption.placement = "top",<br />
show.all = TRUE<br />
)<br />
}<br />
</rcode></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Liikenne_ja_viestint%C3%A4_digitaalisessa_Suomessa_2020/Sis%C3%A4ll%C3%B6nanalyysi&diff=25115
Liikenne ja viestintä digitaalisessa Suomessa 2020/Sisällönanalyysi
2014-07-28T11:42:57Z
<p>Teemu R: /* Tägikone */</p>
<hr />
<div>{{LVM}}<br />
<br />
'''Tällä sivulla voit tarkastella liikenneministeriön tulevaisuuskatsauksen sisältöä ja kansalaisten antamien kommenttien suhdetta siihen. <br />
Alla olevilla työkaluilla voit hakea tekstin jakeita eli erillisiä tekstikappaleita ja niihin liittyviä avainsanoja tai muita jakeita. Relaatiot tarkoittavat kuvailua siitä, millä tavalla kaksi jaetta liittyy toisiinsa.<br />
<br />
== Tägikone ==<br />
{{tuloslinkki}}<br />
<rcode label="Päivitä tietokantarakenne" variables="<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
<br />
jakeet <- opbase.data(paste("Op_fi4362", "Jakeet", sep = "."), 12748)<br />
jakeet$Versio <- 1<br />
temp <- jakeet[grep("^U", jakeet$JaeID),]<br />
temp <- jakeet[!(jakeet$Sivu %in% unique(as.character(temp$Sivu))),]<br />
temp$Versio <- 2<br />
jakeet$Versio[grep("^U", jakeet$JaeID)] <- 2<br />
jakeet$JaeID <- gsub("[A-Za-z]", "", as.character(jakeet$JaeID))<br />
jakeet <- rbind(jakeet, temp)<br />
jakeet$Aihe <- NA<br />
<br />
ymjakeet <- opbase.data("Op_fi4530.jakeet")<br />
ymspan <- 1:nrow(ymjakeet)<br />
ymjakeet <- ymjakeet[rep(ymspan, 2), ]<br />
ymjakeet$Versio <- 2<br />
ymjakeet$Versio[ymspan] <- 1<br />
<br />
jakeet <- rbind.fill(jakeet, ymjakeet)<br />
<br />
opbase.upload(<br />
jakeet[c("Versio", "Sivu", "Aihe", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeet"<br />
)<br />
<br />
jaepois <- opbase.data(paste("Op_fi4362", "Jakeenpoistot", sep = "."))<br />
#jaepois <- data.frame(<br />
# Versio = 0,<br />
# Sivu = NA, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
jaepois$Versio <- 1<br />
jaepois$Aika <- NA # date()<br />
jaepois$Käyttäjä <- NA # wiki_username<br />
jaepois$Versio[grep("^[Uu]", jaepois$Result)] <- 2<br />
temp <- jaepois[!(jaepois$Sivu %in% unique(jaepois$Sivu[jaepois$Versio == 2])), ]<br />
temp$Versio <- 2<br />
jaepois <- rbind(jaepois, temp)<br />
<br />
ymjaepois <- tryCatch(<br />
opbase.data("Op_fi4530.jakeenpoistot"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymjaepois)) {<br />
ymspan <- 1:nrow(ymjaepois)<br />
ymjaepois <- ymjaepois[rep(ymspan, 2), ]<br />
ymjaepois$Versio <- 2<br />
ymjaepois$Versio[ymspan] <- 1<br />
<br />
jaepois <- rbind.fill(jaepois, ymjaepois)<br />
}<br />
<br />
opbase.upload(<br />
jaepois[c("Versio", "Sivu", "Aika", "Käyttäjä", "Syy", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeenpoistot"<br />
)<br />
<br />
jaelisa <- opbase.data(paste("Op_fi4362", "jakeenlisays", sep = "."))<br />
#out <- data.frame( <br />
# Versio = 0,<br />
# Sivu = NA, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# JaeID = NA,<br />
# Result = "Alustus"<br />
#)<br />
jaelisa$Versio <- 1<br />
jaelisa$Aika <- NA # date()<br />
jaelisa$Käyttäjä <- NA # wiki_username<br />
temp <- jaelisa<br />
temp$Versio <- 2<br />
jaelisa <- rbind(jaelisa, temp)<br />
<br />
ymjaelisa <- tryCatch(<br />
opbase.data("Op_fi4530.jakeenlisaykset"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymjaelisa)) {<br />
ymspan <- 1:nrow(ymjaelisa)<br />
ymjaelisa <- ymjaelisa[rep(ymspan, 2), ]<br />
ymjaelisa$Versio <- 2<br />
ymjaelisa$Versio[ymspan] <- 1<br />
<br />
jaelisa <- rbind.fill(jaelisa, ymjaelisa)<br />
}<br />
<br />
opbase.upload(<br />
jaelisa[c("Versio", "Sivu", "Aika", "Käyttäjä", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeenlisaykset"<br />
)<br />
<br />
avainsanat <- opbase.data(paste("Op_fi4362", "avainsanat", sep = "."))<br />
<br />
#out <- data.frame(<br />
# AvainsanaID = NA, <br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Sivu = NA,<br />
# JaeID = NA, <br />
# Result = "Alustus"<br />
#)<br />
avainsanat$AvainsanaID <- 1:nrow(avainsanat)<br />
avainsanat$Versio <- 1<br />
avainsanat$JaeID <- avainsanat$Jae<br />
avainsanat$Result <- avainsanat$Avainsana<br />
temp <- avainsanat<br />
temp$Versio <- 2<br />
avainsanat <- rbind(avainsanat, temp)<br />
<br />
ymavainsanat <- tryCatch(<br />
opbase.data("Op_fi4530.avainsanat"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymavainsanat)) {<br />
ymavainsanat$AvainsanaID <- ymavainsanat$AvainsanaID + nrow(avainsanat)<br />
ymspan <- 1:nrow(ymavainsanat)<br />
ymavainsanat <- ymavainsanat[rep(ymspan, 2), ]<br />
ymavainsanat$Versio <- 2<br />
ymavainsanat$Versio[ymspan] <- 1<br />
<br />
avainsanat <- rbind.fill(avainsanat, ymavainsanat)<br />
}<br />
<br />
opbase.upload(<br />
avainsanat[c("AvainsanaID", "Versio", "Aika", "Käyttäjä", "Sivu", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Avainsanat"<br />
)<br />
<br />
# Tuli LVM tägikoneen päivityksen kanssa tämmönen ongelma vastaan: Edellisen tägikoneen relaatioiden <br />
# syöttökoodin takia jakeet on usein relaatiossa sen jakeen kanssa johon ne on sisällytetty (vastustaa/puolustaa/jne), <br />
# mikä ei käy järkeen koska relaatiot pätevät pääasiassa saman version sisällä toisin kuin sisällytys mikä tapahtuu <br />
# seuraavaan versioon. Sisällytys on ihan eri asia kuin relaatio, se on vaan samanmuotoinen kuin relaatio ja siksi <br />
# samassa taulussa, tai ainakin tää on mun tämänhetkinen tulkinta.<br />
<br />
# Ongelma on siis tän LVM tägäyksen kanssa siinä että relaatio ja sisällytys piti antaa samanaikaisesti<br />
<br />
rel <- opbase.data(paste("Op_fi4362", "relaatiot", sep = "."))<br />
<br />
#out <- data.frame(<br />
# RelaatioID = NA,<br />
# Versio = 0, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username, <br />
# Sivu1 = NA,<br />
# JaeID1 = NA,<br />
# Sivu2 = NA,<br />
# JaeID2 = NA,<br />
# Result = "Alustus"<br />
#)<br />
#rel$RelaatioID <- 1:nrow(rel)<br />
rel$Versio <- 1<br />
rel$Sivu1 <- rel$Sivu<br />
rel$JaeID1 <- rel$Jae<br />
rel$Sivu2 <- rel$Liittymäsivu<br />
rel$JaeID2 <- rel$Liittymäjae<br />
<br />
rel1 <- rel<br />
rel1$Result <- rel$Liittyminen<br />
temp1 <- rel1[grep("^[Uu]", rel1$JaeID2),]<br />
temp1$Versio <- 2<br />
rel1 <- rel1[-grep("^[Uu]", rel1$JaeID2),]<br />
relt <- rel1<br />
relt$Versio <- 2<br />
rel1 <- rbind(rel1, relt)<br />
rel1 <- rbind(rel1, temp1)<br />
<br />
rel2 <- rel<br />
rel2$Result <- rel$Sisällytys<br />
temp2 <- rel2[grep("^[Uu]", rel2$JaeID2),]<br />
temp2$JaeID2 <- gsub("^[Uu]", "", as.character(temp2$JaeID2))<br />
#temp2$Versio <- 1<br />
rel2 <- rel2[-grep("^[Uu]", rel2$JaeID2),]<br />
rel2 <- rbind(rel2, temp2)<br />
<br />
#rel1$RelaatioID <- 1:nrow(rel1)<br />
#rel2$RelaatioID <- 1:nrow(rel2)<br />
<br />
rel <- rbind(rel1, rel2)<br />
rel$JaeID1 <- gsub("^[Uu]", "", as.character(rel$JaeID1))<br />
rel$JaeID2 <- gsub("^[Uu]", "", as.character(rel$JaeID2))<br />
<br />
ymrel <- tryCatch(<br />
opbase.data("Op_fi4530.relaatiot"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymrel)) {<br />
ymspan <- 1:nrow(ymrel)<br />
ymrel <- ymrel[rep(ymspan, 2), ]<br />
ymrel$Versio <- 2<br />
ymrel$Versio[ymspan] <- 1<br />
<br />
rel <- rbind.fill(rel, ymrel)<br />
}<br />
<br />
rel$RelaatioID[rel$Versio == 1] <- 1:nrow(rel[rel$Versio == 1,])<br />
rel$RelaatioID[rel$Versio == 2] <- 1:nrow(rel[rel$Versio == 2,])<br />
<br />
opbase.upload(<br />
rel[c("RelaatioID", "Aika", "Käyttäjä", "Sivu1", "JaeID1", "Sivu2", "JaeID2", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Relaatiot"<br />
)<br />
<br />
#out <- data.frame(<br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
<br />
out <- tryCatch(<br />
opbase.data(ident, subset = "relaationpoistot", exclude = list(Sivu = "Ympäristöministeriön tulevaisuuskatsaus")),<br />
error = function(...) return(NULL)<br />
)<br />
out <- tryCatch(<br />
ymout <- opbase.data("Op_fi4530.relaationpoistot"),<br />
error = function(...) return(NULL)<br />
)<br />
<br />
out <- rbind(out, ymout)<br />
<br />
if (!is.null(out)) {<br />
opbase.upload(<br />
out, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
who = wiki_username<br />
)<br />
}<br />
<br />
<br />
#out <- data.frame(<br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
<br />
out <- tryCatch(<br />
opbase.data(ident, subset = "Avainsananpoistot", exclude = list(Sivu = "Ympäristöministeriön tulevaisuuskatsaus")),<br />
error = function(...) return(NULL)<br />
)<br />
out <- tryCatch(<br />
ymout <- opbase.data("Op_fi4530.Avainsananpoistot"),<br />
error = function(...) return(NULL)<br />
)<br />
<br />
out <- rbind(out, ymout)<br />
<br />
if (!is.null(out)) {<br />
opbase.upload(<br />
out, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
who = wiki_username<br />
)<br />
}<br />
<br />
<br />
<br />
#opbase.upload(<br />
# out, <br />
# name = pagename, <br />
# subset = "Avainsananpoistot", <br />
# who = wiki_username<br />
#)<br />
</rcode><br />
=== Versiot ===<br />
<t2b name="Versiot" index="Versio,Sivu,Ident" unit="OldID"><br />
1|Liikenne ja viestintä palveluna|Op_fi4248|<br />
1|Liikenteen palvelumarkkinat|Op_fi4253|<br />
1|Liikenteen energiareformi|Op_fi4254|<br />
1|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
1|Monipuoliset sisällöt|Op_fi4256|<br />
1|Oma Painotus Teema I|Op_fi4257|<br />
1|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
1|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
1|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
1|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
1|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
1|Oma Painotus Teema II|Op_fi4262|<br />
1|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
1|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
1|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
1|Arktinen strategia|Op_fi4265|<br />
1|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
1|Oma Painotus Teema III|Op_fi4267|<br />
2|Liikenne ja viestintä palveluna|Op_fi4248|<br />
2|Liikenteen palvelumarkkinat|Op_fi4253|<br />
2|Liikenteen energiareformi|Op_fi4254|<br />
2|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
2|Monipuoliset sisällöt|Op_fi4256|<br />
2|Oma Painotus Teema I|Op_fi4257|<br />
2|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
2|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
2|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
2|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
2|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
2|Oma Painotus Teema II|Op_fi4262|<br />
2|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
2|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
2|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
2|Arktinen strategia|Op_fi4265|<br />
2|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
2|Oma Painotus Teema III|Op_fi4267|<br />
</t2b><br />
<br />
===Jakeet===<br />
'''Kaikkien kenttien arvot saa erotella pilkuilla tässä haussa'''<br />
<rcode label="Näytä jakeet" name="jakeet" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Jakeita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
<rcode label="Poista jae" name="jakeenpoisto" embed=1 variables="<br />
name:sivu|description:Poistettavan jakeen sivu|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Poistettavan jakeen ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Tekninen jae';Tekninen jae;<br />
'Jae ei liity sivun aiheeseen';Jae ei liity sivun aiheeseen;<br />
'Jae on häiriköintiä';Jae on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jaeid <- strsplit(jaeid, ",", fixed = TRUE)[[1]]<br />
jaeid <- gsub(" ", "", jaeid)<br />
<br />
if (sum(nchar(jaeid)) == 0) stop("Anna jakeen ID")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame(<br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = as.character(jaeid)<br />
)<br />
<br />
opbase.upload(<br />
out, <br />
who = wiki_username, <br />
name = pagename,<br />
subset = "Jakeenpoistot",<br />
act_type = "append", <br />
language = "fin"<br />
)<br />
</rcode><br />
<br />
<rcode label="Lisää jae" name="jakeenlisays" embed=1 variables="<br />
name:sivu|description:Sivu jolle jae lisätään|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:sisalto|description:Jakeen sisältö|type:textbox|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame( <br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
JaeID = NA,<br />
Result = sisalto<br />
)<br />
<br />
ident.subset <- paste(ident, "Jakeenlisaykset", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
filter$Sivu <- sivu<br />
<br />
upload_with_autoid(<br />
out,<br />
ident.subset,<br />
id_name = "JaeID",<br />
pagename = pagename,<br />
prefix = "L",<br />
filter = filter<br />
)<br />
</rcode><br />
<br />
=== Avainsanat ===<br />
<rcode label="Näytä avainsanat" name="avainsanat_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka avainsanoja haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
out <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<rcode label="Lisää avainsana" name="avainsanat" embed=1 variables="<br />
name:sivu|description:Minkä sivun jakeelle haluat lisätä avainsanoja?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Mikä on jakeen versio?|type:text|default:nykyinen|<br />
name:jae|description:Mikä on jakeen ID?|type:text|<br />
name:yl_avainsanat|description:Valitse alla olevasta listasta yleisiä avainsanoja.|type:checkbox|options:<br />
'Päätös';A Päätös (jae sisältää päätös- tai toimintaehdotuksen);<br />
'Vaikutus';B Vaikutus (jae kuvaa ilmiötä tai vaikutusta);<br />
'Arvo';C Arvo (jakeessa on arvoarvostelma tai kuvaa asian merkitystä);<br />
'Työn tekemiseen liittyvä';D Katsaustyön tekemiseen liittyvä;<br />
'Epäselvä luokka';E Ei mikään edellisistä (valitse ainakin yksi A-E)|<br />
name:avainsanat|description:Laita halutessasi yllä listaamattomattomia avainsanoja tähän pilkulla eroteltuna.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
avainsanat <- strsplit(avainsanat, ",", fixed = TRUE)[[1]]<br />
avainsanat <- gsub(" ", "", avainsanat)<br />
avainsanat <- avainsanat[nchar(avainsanat) > 0]<br />
avainsanat <- c(yl_avainsanat, avainsanat)<br />
if (length(avainsanat) == 0) stop("Yhtään avainsanaa ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
AvainsanaID = NA, <br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Sivu = sivu,<br />
JaeID = as.character(jae), <br />
Result = avainsanat<br />
)<br />
<br />
ident.subset <- paste(ident, "Avainsanat", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "AvainsanaID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Avainsanojen lisääminen onnistui.\n")<br />
</rcode><br />
<br />
<rcode name="avainsananpoisto" embed=1 label="Poista avainsana" showcode=0 variables="<br />
name:avid|description:Poistettavan avainsanan ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Avainsana ei päde uudessa versiossa';Avainsana ei päde uudessa versiossa;<br />
'Virheellinen avainsana';Virheellinen avainsana|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
avid <- strsplit(avid, ",", fixed = TRUE)[[1]]<br />
avid <- gsub(" ", "", avid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = avid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Avainsana poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Relaatiot ===<br />
<rcode label="Näytä relaatiot" name="relaatiot_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka relaatioita haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
out <- rbind(rel1, rel2)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(<br />
out, <br />
include.rownames = FALSE,<br />
caption = "Relaatiot", <br />
caption.placement = "top"<br />
)<br />
} else {<br />
cat("Relaatioita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
<rcode label="Lisää relaatio" name="relaatio" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:nykyinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID?|type:text|<br />
name:relaatio|description:'''Kuinka lähtöjae liittyy kohdejakeeseen?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'tukee tai on linjassa';tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';on neutraali suhteessa;<br />
'on uusi linjaus tai painotus';on uusi linjaus tai painotus;<br />
'kuuluu ryhmään/kokoelmaan';kuuluu ryhmään/kokoelmaan|<br />
name:lisarelaatio|description:VAPAAEHTOINEN Voit antaa oman jakeiden välisen relaation vapaakenttään.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
relaatio <- ifelse(lisarelaatio == '', relaatio, lisarelaatio)<br />
if (nchar(gsub(" ", "", relaatio)) == 0) stop("Relaatiota ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = relaatio<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Relaation lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
<rcode label="Lisää sisällytys" name="sisallytys" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:edellinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID (uudemmassa versiossa)?|type:text|<br />
name:sisallytys|description:'''Sisällytettiinkö ehdotus uudempaan versioon?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun;<br />
'ehdotus ei ole antanut aihetta muutoksiin';ehdotus ei ole antanut aihetta muutoksiin|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
if (nchar(gsub(" ", "", sisallytys)) == 0) stop("Sisällytyksen tyyppiä ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "edellinen") {<br />
version <- get_current_version(ident) - 1<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = sisallytys<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Sisällytyksen lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
<rcode name="relaationpoisto" embed=1 label="Poista relaatio" showcode=0 variables="<br />
name:relid|description:Poistettavan relaation ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Relaatio ei päde uudessa versiossa';Relaatio ei päde uudessa versiossa;<br />
'Virheellinen relaatio';Virheellinen relaatio|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
relid <- strsplit(relid, ",", fixed = TRUE)[[1]]<br />
relid <- gsub(" ", "", relid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = relid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Relaatio poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Kehittyneemmät hakukoneet ===<br />
'''Hae jakeita ja niihin liittyviä avainsanoja'''<br />
<rcode label="Hae" name="avainsanat_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) == 0) {<br />
stop("Jakeita ei löytynyt!")<br />
}<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
} else {<br />
colnames(tags)[colnames(tags) == "Result"] <- "Avainsana"<br />
out <- join(<br />
tags[c("Versio", "Sivu", "JaeID", "AvainsanaID", "Avainsana")],<br />
out[c("Versio", "Sivu", "JaeID", "Result")]<br />
)<br />
# Jos annettiin vain yksi versio ja/tai sivu niin niitä ei tarvitse printata<br />
filter_ind <- NULL<br />
if (length(version) != 1) filter_ind <- c(filter_ind, "Versio")<br />
if (length(sivu) != 1) filter_ind <- c(filter_ind, "Sivu")<br />
filter_ind <- c(filter_ind, "JaeID")<br />
oprint(out[c(filter_ind, "Result", "AvainsanaID", "Avainsana")], include.rownames = FALSE, show_all = TRUE)<br />
}<br />
</rcode><br />
<br />
'''Hae relaatioita ja niihin kuuluvia jakeita'''<br />
<rcode label="Hae" name="relaatiot_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta relaatioita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:liitsis|description:Liittymistyyppi (tyhjä = kaikki)|type:checkbox|options:<br />
'tukee tai on linjassa';Tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';Vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';On neutraali suhteessa;<br />
'on uusi linjaus tai painotus';On uusi linjaus tai painotus;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';Ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';Ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin';Ehdotus ei ole antanut aihetta muutoksiin;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';Ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
# Eri sisältymistyypit pitää määritellä niin että ne voidaan käsitellä erillään muista relaatioista<br />
sis_opt <- c(<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu',<br />
'ehdotus huomioitu ja uusi kohta lisätty',<br />
'ehdotus ei ole antanut aihetta muutoksiin', <br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun'<br />
)<br />
#liit_opt <- c(<br />
# 'tukee tai on linjassa',<br />
# 'vastustaa tai on ristiriidassa',<br />
# 'on neutraali suhteessa',<br />
# 'on uusi linjaus tai painotus'<br />
#)<br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (!is.null(liitsis)) rel <- rel[rel$Result %in% liitsis, ]<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = unique(c(<br />
as.character(rel$Sivu1), <br />
as.character(rel$Sivu2)<br />
)), <br />
versio = version, <br />
jae = unique(c(<br />
as.character(rel$JaeID1), <br />
as.character(rel$JaeID2)<br />
))<br />
)<br />
if (nrow(jakeet) == 0) stop("Relaatioissa listattuja jakeita ei löytynyt!")<br />
<br />
# Relaatiot<br />
if (nrow(rel[!(rel$Relaatio %in% sis_opt),]) > 0) {<br />
jakeet <- jakeet[c("Versio", "Sivu", "JaeID", "Result")]<br />
colnames(jakeet)[colnames(jakeet) == "JaeID"] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu"] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Jae1"<br />
rel <- rel[c("RelaatioID", "Versio", "Sivu1", "JaeID1", "Result", "Sivu2", "JaeID2")]<br />
colnames(rel)[colnames(rel) == "Result"] <- "Relaatio"<br />
out <- join(<br />
rel[(!(rel$Relaatio %in% sis_opt)) & rel$Versio %in% original_version,], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei relaatioita!\n")<br />
}<br />
<br />
# Sisällytykset<br />
if (nrow(rel[(rel$Relaatio %in% sis_opt),]) > 0) {<br />
colnames(jakeet)[colnames(jakeet) %in% c("JaeID","JaeID2")] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Sivu", "Sivu2")] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Result", "Jae2")] <- "Jae1"<br />
colnames(rel)[colnames(rel) == "Relaatio"] <- "Sisällytys"<br />
out <- join(<br />
rel[rel$Sisällytys %in% sis_opt & rel$Versio %in% version[-length(version)],], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
jakeet$Versio <- as.numeric(as.character(jakeet$Versio)) - 1<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Sisällytys", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Sisällytys (uudempaan versioon)", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei sisällytyksiä!\n")<br />
}<br />
}<br />
</rcode><br />
<br />
===Analyysi===<br />
'''Tässä voit hakea jakeita ja analysoida niiden määriä hakemalla yhdellä tai useammalla avainsanalla. '''<br />
<br />
Käytetyt avainsanat:<br />
{{piilotettu|<br />
3D-tulostus Aikataulut Ajoneuvokanta Alueellisuus <br />
alustus Ammattiryhmät Arvo Asutus <br />
Aurinko Automatisaatio Avoimuus Big Data <br />
Biopolttoaine Dataliikenne Digitalisoituminen Eettisyys <br />
eIDAS Elintaso Energia Epäselvä luokka <br />
Eriarvoisuus Erityisryhmät Esineiden internet Globaalius <br />
Globaaluis Henkilökortti Henkilötiedot Huutokauppa <br />
Hybridi Hybridi-TV Hyvinvointi Hyvinvointiyhteiskunta <br />
Häiriöt Ilmasto Infrastruktuuri Innovatiivisus <br />
Innovatiivisuus Internet Investoinnit Joukkoliikenne <br />
Joustavuus Julkinen valta Kaivosteollisuus Kansainvälisyys <br />
Kasvihuonekaasut Kaupallisuus Kaupungit Kehitys <br />
Kestävyys Kevyen liikenteen väylät Kevytliikenne Kiinteistöt <br />
Kilpailu Kilpailukyky Konesalit Konkreettisuus <br />
Kotimaisuus Koulutus Kunnat Kustannustehokkuus <br />
Kuuluvuus Kävely Laajakaista Lainsäädäntö <br />
Laiton tarjonta Langattomuus Lappi Lentoliikenne <br />
Liikenne Liikenneverkostot Liikkumistili Linja-autot <br />
Logistiikka Luonnonsuojelu Lämmitys Maakaasu <br />
Maatalous Mainonta Markkinat Massavalvonta <br />
Meriliikenne Metadata Mobiiliverkko Mopot <br />
Nopeus Ohjaus Ohjelmistot Ohjelmistotoimittaja <br />
Oikeusturva Omavaraisuus Operaattori Osaaminen <br />
Ostovoima Palaute Palvelut Palvelutaso <br />
Peruskunto Pilvipalvelut Polttoaine Posti <br />
Puelueettomuus Pysäköinti Pyöräily Päivitys <br />
Pääkaupunkiseutu Päästöt Päätöksenteko Päätös <br />
Raha Rahoitus Rahtliikenne Rajapinnat <br />
Rakennemuutos Rakentaminen Raskas liikenne Rautatiet <br />
Riippuvuus Rikokset Robotisaatio Ruuhkamaksu <br />
Ruuhkautuminen Saatavuus Sateliittipaikannus Sovellukset <br />
Strategia Suunnittelu Sähkö Sähköauto <br />
Sääntely Säästöt Talous Talouskasvu <br />
Tarpeet Tasa-arvo Tasapuolisuus Tasavertaisuus <br />
Tavaraliikenne Tehokkuus Tekijänoikeus Tekniikkaneutraalius <br />
Tekninen tuki Teknologia Teknologianeutraalius Teollisuus <br />
Terveydenhuolto Terveys testi Tiedon avoimuus <br />
Tiedon hallinnointi Tiedon hallinta Tiedon hyödyntäminen Tieliikenne <br />
Tietoliikenne Tietoturva Toimilupa Toiminta <br />
Toimintavarmuus Toimivuus Tuki Turvallisuus <br />
Turvaverkko Tutkimus Tuuli TV <br />
Työllisyys Työn tekemiseen liittyvä Ulkomaat Uudistus <br />
Vaihtoehtoiset polttoaineet Vaikuttaminen Vaikutus Vakuutus <br />
Valinnanvapaus Valtio Varmenne Varmuus <br />
Vastuu Verkostoituminen Verotus Vesiliikenne <br />
Vesiliikenne, Tasavertaisuus Viestintäverkot Viranomaiset Yhteensopivuus <br />
Yhteiskunta Yhteiskuntamurros Yhteistyö Yhteysnopeus <br />
Yksityisautoilu Yksityisyydensuoja YLE Yleispalvelu <br />
Yleisradio Ympäristö Yritykset Öljy <br />
}}<br />
<br />
<rcode label="Näytä jakeita/tilastoja" name="jae_stats" embed=1 graphics=1 variables="<br />
name:sivu|description:Minkä sivun jakeita haluat tarkastella?|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:avainsanat|description:Hae jakeita joilla on ainakin yksi seuraavista avainsanoista|type:text|<br />
name:avainsanat_all|description:Hae jakeita joilla on kaikki seuraavat avainsanat|type:text|<br />
name:jaelista|description:Haluatko nähdä kaikki löydetyt jakeet?|type:selection|options:FALSE;En;TRUE;Kyllä|default:FALSE|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
library(ggplot2)<br />
<br />
filter <- list()<br />
if (nchar(gsub(" ", "", avainsanat)) > 0) {<br />
avainsanat <- strsplit(avainsanat, ",")[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat) <br />
} else {<br />
avainsanat <- NULL<br />
}<br />
if (nchar(gsub(" ", "", avainsanat_all)) > 0) {<br />
avainsanat_all <- strsplit(avainsanat_all, ",")[[1]]<br />
avainsanat_all <- gsub("^\\s*|\\s*$", "", avainsanat_all)<br />
#filter$Avainsana <- avainsanat_all<br />
} else {<br />
avainsanat_all <- NULL<br />
}<br />
filter$Sivu <- sivu<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
filter$Versio <- version<br />
<br />
if (length(filter) == 0) filter <- NULL<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
jaeid <- NULL<br />
<br />
if (!is.null(avainsanat)|!is.null(avainsanat_all)) {<br />
tags <- tags[tags$Result %in% c(avainsanat, avainsanat_all), ]<br />
jaeid <- unique(as.character(tags$JaeID))<br />
}<br />
<br />
if(!is.null(avainsanat_all)) {<br />
temp <- list()<br />
for (i in 1:nrow(jaeid)) {<br />
temp[[i]] <- avainsanat_all %in% tags$Result[tags$JaeID == jaeid[i]]<br />
}<br />
temp <- lapply(temp, all)<br />
jaeid <- jaeid[temp]<br />
tags <- tags[tags$JaeID %in% jaeid,]<br />
}<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt.\n")<br />
}<br />
<br />
if (is.null(filter)) {<br />
filter2 <- list()<br />
} else {<br />
filter2 <- filter<br />
}<br />
<br />
filter2$JaeID <- jaeid<br />
<br />
if (length(filter2) == 0) filter2 <- NULL<br />
<br />
if (jaelista) {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = filter2$Sivu, # *list$non-existent returns NULL<br />
versio = filter2$Versio, <br />
jae = filter2$JaeID<br />
)<br />
if (nrow(jakeet) == 0) {<br />
cat("Avainsanoissa listattuja jakeita ei löytynyt.\n")<br />
} else {<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Sisältö"<br />
tagged <- NULL<br />
if (nrow(tags) > 0) {<br />
#tagged <- join(<br />
# jakeet[c("Versio", "Sivu", "Aihe", "JaeID")], <br />
# tags[c("Versio", "Sivu", "JaeID", "Result")]<br />
#)<br />
#colnames(tagged)[colnames(tagged) == "Result"] <- "Avainsana"<br />
tagged <- tapply(tags$Result, tags[c("Versio", "Sivu", "JaeID")], paste, collapse = ", ")<br />
tagged <- as.data.frame(as.table(tagged))<br />
colnames(tagged)[colnames(tagged) == "Freq"] <- "Avainsanat"<br />
tagged <- join(<br />
jakeet[c("Versio", "Sivu", "JaeID", "Sisältö")], <br />
tagged[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
type = "inner",<br />
match = "first"<br />
)<br />
oprint(<br />
tagged[c("Versio", "Sivu", "JaeID", "Sisältö", "Avainsanat")],<br />
caption = "Jakeet", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = rep(0, 6)<br />
)<br />
}<br />
}<br />
}<br />
<br />
if (nrow(tags) > 0) {<br />
tags_out <- ddply(tags, "Result", nrow)<br />
colnames(tags_out) <- c("Avainsana", "Lukumäärä")<br />
tags_out <- tags_out[order(tags_out$Lukumäärä, decreasing = TRUE),]<br />
oprint(<br />
tags_out,<br />
caption = "Avainsanojen lukumäärät", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = c(0, 0, 0)<br />
)<br />
ggplot(tags_out, aes(x = Avainsana, y = Lukumäärä, fill = Avainsana)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Avainsanojen frekvenssit")<br />
}<br />
<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter3 <- list()<br />
filter3$Sivu1 <- sivu<br />
filter3$Versio <- version<br />
filter3$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter3$JaeID1 <- NULL<br />
filter3$Sivu1 <- NULL<br />
filter3$JaeID2 <- jaeid<br />
filter3$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
related <- rel[<br />
rel$Result %in% c(<br />
"on neutraali suhteessa", <br />
"on uusi linjaus tai painotus", <br />
"tukee tai on linjassa", <br />
"vastustaa tai on ristiriidassa"<br />
), ]<br />
related$Result <- as.character(related$Result)<br />
affected <- rel[<br />
rel$Result %in% c(<br />
"ehdotus ei ole antanut aihetta muutoksiin",<br />
"ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun", <br />
"ehdotus huomioitu ja liittyvää painotusta muutettu",<br />
"ehdotus huomioitu ja uusi kohta lisätty"<br />
), ]<br />
affected$Result <- as.character(affected$Result)<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin"] <- "Ei aihetta muutoksiin"<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun"] <- "Sisältyy valmiiksi"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja liittyvää painotusta muutettu"] <- "Huomioitu painotuksella"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja uusi kohta lisätty"] <- "Huomioitu lisäyksellä"<br />
<br />
related_out <- ddply(related, "Result", nrow)<br />
colnames(related_out) <- c("Relaatio", "Lukumäärä")<br />
<br />
affected_out <- ddply(affected, "Result", nrow)<br />
colnames(affected_out) <- c("Sisällytys", "Lukumäärä")<br />
}<br />
<br />
if (nrow(related_out > 0)) {<br />
ggplot(related_out, aes(x = Relaatio, y = Lukumäärä, fill = Relaatio)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Relaatioiden frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
<br />
if (nrow(affected_out > 0)) {<br />
ggplot(affected_out, aes(x = Sisällytys, y = Lukumäärä, fill = Sisällytys)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Sisällytyksen frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
</rcode><br />
=== Sulautus ===<br />
{{tuloslinkki}}<br />
<rcode label="Etsi sulautuksia" name="sulautus" embed=0 variables="<br />
name:sivu|description:Sivut joihin sulautus tehdään (kaikista edellisen version jakeista)|type:checkbox|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:toleranssi|description:Toleranssi (Levenshtein distance)|default:5|<br />
name:tallenna|description:Tallenna kantaan|type:selection|options:TRUE;Kyllä;FALSE;Ei|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
mdat <- get_meta_data(ident)<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
version <- c(version - 1, version)<br />
<br />
jakeet <- jaehakukone(ident, versio = version)<br />
<br />
ver1 <- jakeet[jakeet$Versio == version[1],]<br />
ver2 <- jakeet[jakeet$Versio == version[2] & jakeet$Sivu == sivu,]<br />
<br />
# adist too slow<br />
d <- adist(<br />
ver1$Result, <br />
ver2$Result,<br />
fixed = FALSE<br />
)<br />
d[is.na(d)] <- Inf<br />
#d_min <- apply(d, 1, min)<br />
#d_tol <- d <= toleranssi<br />
#d_out <- apply(d, 1, which.min)<br />
<br />
colnames(ver1)[colnames(ver1) == "Versio"] <- "Versio1"<br />
colnames(ver1)[colnames(ver1) == "Sivu"] <- "Sivu1"<br />
colnames(ver1)[colnames(ver1) == "JaeID"] <- "JaeID1"<br />
colnames(ver1)[colnames(ver1) == "Result"] <- "Result1"<br />
<br />
colnames(ver2)[colnames(ver2) == "Versio"] <- "Versio2"<br />
colnames(ver2)[colnames(ver2) == "Sivu"] <- "Sivu2"<br />
colnames(ver2)[colnames(ver2) == "JaeID"] <- "JaeID2"<br />
colnames(ver2)[colnames(ver2) == "Result"] <- "Result2"<br />
<br />
#out <- cbind(ver1[d_min <= toleranssi, ], ver2[d_out[d_min <= toleranssi], ])<br />
<br />
d <- alply(d, 1, I)<br />
d_tol <- llply(d, function(x) {x <= toleranssi})<br />
d_reps <- laply(d_tol, sum)<br />
d_w <- llply(d_tol, which)<br />
d_w <- unlist(d_w)<br />
<br />
out <- cbind(ver1[rep(1:nrow(ver1), d_reps),], ver2[d_w, ])<br />
<br />
#d <- NULL<br />
#n <- NULL<br />
#for (i in 1:nrow(ver1)) {<br />
# for (j in split(ver2$Result, ceiling((1:nrow(ver2)) / 100))) {<br />
# temp <- agrep(ver1$Result[i], j, toleranssi)<br />
# d <- append(d, temp)<br />
# n <- append(n, length(temp))<br />
# }<br />
#}<br />
<br />
#out <- cbind(<br />
# ver1[rep(1:nrow(ver1), n),],<br />
# ver2[d,]<br />
#)<br />
if (tallenna) {<br />
opbase.upload(<br />
out,<br />
name = pagename,<br />
who = wiki_username,<br />
subset = "Sulautukset"<br />
)<br />
} else { <br />
oprint(<br />
out, <br />
include.rownames = FALSE, <br />
digits = rep(0, ncol(out) + 1), <br />
caption("Sulautus uuteen versioon"), <br />
caption.placement = "top",<br />
show.all = TRUE<br />
)<br />
}<br />
</rcode></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Liikenne_ja_viestint%C3%A4_digitaalisessa_Suomessa_2020/Sis%C3%A4ll%C3%B6nanalyysi&diff=25114
Liikenne ja viestintä digitaalisessa Suomessa 2020/Sisällönanalyysi
2014-07-28T11:39:14Z
<p>Teemu R: /* Tägikone */</p>
<hr />
<div>{{LVM}}<br />
<br />
'''Tällä sivulla voit tarkastella liikenneministeriön tulevaisuuskatsauksen sisältöä ja kansalaisten antamien kommenttien suhdetta siihen. <br />
Alla olevilla työkaluilla voit hakea tekstin jakeita eli erillisiä tekstikappaleita ja niihin liittyviä avainsanoja tai muita jakeita. Relaatiot tarkoittavat kuvailua siitä, millä tavalla kaksi jaetta liittyy toisiinsa.<br />
<br />
== Tägikone ==<br />
{{tuloslinkki}}<br />
<rcode label="Päivitä tietokantarakenne" variables="<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
#library(plyr)<br />
<br />
jakeet <- opbase.data(paste("Op_fi4362", "Jakeet", sep = "."), 12748)<br />
jakeet$Versio <- 1<br />
temp <- jakeet[grep("^U", jakeet$JaeID),]<br />
temp <- jakeet[!(jakeet$Sivu %in% unique(as.character(temp$Sivu))),]<br />
temp$Versio <- 2<br />
jakeet$Versio[grep("^U", jakeet$JaeID)] <- 2<br />
jakeet$JaeID <- gsub("[A-Za-z]", "", as.character(jakeet$JaeID))<br />
jakeet <- rbind(jakeet, temp)<br />
jakeet$Aihe <- NA<br />
<br />
ymjakeet <- opbase.data("Op_fi4530.jakeet")<br />
ymspan <- 1:nrow(ymjakeet)<br />
ymjakeet <- ymjakeet[rep(ymspan, 2), ]<br />
ymjakeet$Versio <- 2<br />
ymjakeet$Versio[ymspan] <- 1<br />
<br />
jakeet <- rbind(jakeet, ymjakeet)<br />
<br />
opbase.upload(<br />
jakeet[c("Versio", "Sivu", "Aihe", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeet"<br />
)<br />
<br />
jaepois <- opbase.data(paste("Op_fi4362", "Jakeenpoistot", sep = "."))<br />
#jaepois <- data.frame(<br />
# Versio = 0,<br />
# Sivu = NA, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
jaepois$Versio <- 1<br />
jaepois$Aika <- NA # date()<br />
jaepois$Käyttäjä <- NA # wiki_username<br />
jaepois$Versio[grep("^[Uu]", jaepois$Result)] <- 2<br />
temp <- jaepois[!(jaepois$Sivu %in% unique(jaepois$Sivu[jaepois$Versio == 2])), ]<br />
temp$Versio <- 2<br />
jaepois <- rbind(jaepois, temp)<br />
<br />
ymjaepois <- tryCatch(<br />
opbase.data("Op_fi4530.jakeenpoistot"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymjaepois)) {<br />
ymspan <- 1:nrow(ymjaepois)<br />
ymjaepois <- ymjaepois[rep(ymspan, 2), ]<br />
ymjaepois$Versio <- 2<br />
ymjaepois$Versio[ymspan] <- 1<br />
<br />
jaepois <- rbind(jaepois, ymjaepois)<br />
}<br />
<br />
opbase.upload(<br />
jaepois[c("Versio", "Sivu", "Aika", "Käyttäjä", "Syy", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeenpoistot"<br />
)<br />
<br />
jaelisa <- opbase.data(paste("Op_fi4362", "jakeenlisays", sep = "."))<br />
#out <- data.frame( <br />
# Versio = 0,<br />
# Sivu = NA, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# JaeID = NA,<br />
# Result = "Alustus"<br />
#)<br />
jaelisa$Versio <- 1<br />
jaelisa$Aika <- NA # date()<br />
jaelisa$Käyttäjä <- NA # wiki_username<br />
temp <- jaelisa<br />
temp$Versio <- 2<br />
jaelisa <- rbind(jaelisa, temp)<br />
<br />
ymjaelisa <- tryCatch(<br />
opbase.data("Op_fi4530.jakeenlisaykset"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymjaelisa)) {<br />
ymspan <- 1:nrow(ymjaelisa)<br />
ymjaelisa <- ymjaelisa[rep(ymspan, 2), ]<br />
ymjaelisa$Versio <- 2<br />
ymjaelisa$Versio[ymspan] <- 1<br />
<br />
jaelisa <- rbind(jaelisa, ymjaelisa)<br />
}<br />
<br />
opbase.upload(<br />
jaelisa[c("Versio", "Sivu", "Aika", "Käyttäjä", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeenlisaykset"<br />
)<br />
<br />
avainsanat <- opbase.data(paste("Op_fi4362", "avainsanat", sep = "."))<br />
<br />
#out <- data.frame(<br />
# AvainsanaID = NA, <br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Sivu = NA,<br />
# JaeID = NA, <br />
# Result = "Alustus"<br />
#)<br />
avainsanat$AvainsanaID <- 1:nrow(avainsanat)<br />
avainsanat$Versio <- 1<br />
avainsanat$JaeID <- avainsanat$Jae<br />
avainsanat$Result <- avainsanat$Avainsana<br />
temp <- avainsanat<br />
temp$Versio <- 2<br />
avainsanat <- rbind(avainsanat, temp)<br />
<br />
ymavainsanat <- tryCatch(<br />
opbase.data("Op_fi4530.avainsanat"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymavainsanat)) {<br />
ymavainsanat$AvainsanaID <- ymavainsanat$AvainsanaID + nrow(avainsanat)<br />
ymspan <- 1:nrow(ymavainsanat)<br />
ymavainsanat <- ymavainsanat[rep(ymspan, 2), ]<br />
ymavainsanat$Versio <- 2<br />
ymavainsanat$Versio[ymspan] <- 1<br />
<br />
avainsanat <- rbind(avainsanat, ymavainsanat)<br />
}<br />
<br />
opbase.upload(<br />
avainsanat[c("AvainsanaID", "Versio", "Aika", "Käyttäjä", "Sivu", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Avainsanat"<br />
)<br />
<br />
# Tuli LVM tägikoneen päivityksen kanssa tämmönen ongelma vastaan: Edellisen tägikoneen relaatioiden <br />
# syöttökoodin takia jakeet on usein relaatiossa sen jakeen kanssa johon ne on sisällytetty (vastustaa/puolustaa/jne), <br />
# mikä ei käy järkeen koska relaatiot pätevät pääasiassa saman version sisällä toisin kuin sisällytys mikä tapahtuu <br />
# seuraavaan versioon. Sisällytys on ihan eri asia kuin relaatio, se on vaan samanmuotoinen kuin relaatio ja siksi <br />
# samassa taulussa, tai ainakin tää on mun tämänhetkinen tulkinta.<br />
<br />
# Ongelma on siis tän LVM tägäyksen kanssa siinä että relaatio ja sisällytys piti antaa samanaikaisesti<br />
<br />
rel <- opbase.data(paste("Op_fi4362", "relaatiot", sep = "."))<br />
<br />
#out <- data.frame(<br />
# RelaatioID = NA,<br />
# Versio = 0, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username, <br />
# Sivu1 = NA,<br />
# JaeID1 = NA,<br />
# Sivu2 = NA,<br />
# JaeID2 = NA,<br />
# Result = "Alustus"<br />
#)<br />
#rel$RelaatioID <- 1:nrow(rel)<br />
rel$Versio <- 1<br />
rel$Sivu1 <- rel$Sivu<br />
rel$JaeID1 <- rel$Jae<br />
rel$Sivu2 <- rel$Liittymäsivu<br />
rel$JaeID2 <- rel$Liittymäjae<br />
<br />
rel1 <- rel<br />
rel1$Result <- rel$Liittyminen<br />
temp1 <- rel1[grep("^[Uu]", rel1$JaeID2),]<br />
temp1$Versio <- 2<br />
rel1 <- rel1[-grep("^[Uu]", rel1$JaeID2),]<br />
relt <- rel1<br />
relt$Versio <- 2<br />
rel1 <- rbind(rel1, relt)<br />
rel1 <- rbind(rel1, temp1)<br />
<br />
rel2 <- rel<br />
rel2$Result <- rel$Sisällytys<br />
temp2 <- rel2[grep("^[Uu]", rel2$JaeID2),]<br />
temp2$JaeID2 <- gsub("^[Uu]", "", as.character(temp2$JaeID2))<br />
#temp2$Versio <- 1<br />
rel2 <- rel2[-grep("^[Uu]", rel2$JaeID2),]<br />
rel2 <- rbind(rel2, temp2)<br />
<br />
#rel1$RelaatioID <- 1:nrow(rel1)<br />
#rel2$RelaatioID <- 1:nrow(rel2)<br />
<br />
rel <- rbind(rel1, rel2)<br />
rel$JaeID1 <- gsub("^[Uu]", "", as.character(rel$JaeID1))<br />
rel$JaeID2 <- gsub("^[Uu]", "", as.character(rel$JaeID2))<br />
<br />
ymrel <- tryCatch(<br />
opbase.data("Op_fi4530.relaatiot"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymrel)) {<br />
ymspan <- 1:nrow(ymrel)<br />
ymrel <- ymrel[rep(ymspan, 2), ]<br />
ymrel$Versio <- 2<br />
ymrel$Versio[ymspan] <- 1<br />
<br />
rel <- rbind(rel, ymrel)<br />
}<br />
<br />
rel$RelaatioID[rel$Versio == 1] <- 1:nrow(rel[rel$Versio == 1,])<br />
rel$RelaatioID[rel$Versio == 2] <- 1:nrow(rel[rel$Versio == 2,])<br />
<br />
opbase.upload(<br />
rel[c("RelaatioID", "Aika", "Käyttäjä", "Sivu1", "JaeID1", "Sivu2", "JaeID2", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Relaatiot"<br />
)<br />
<br />
#out <- data.frame(<br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
<br />
out <- tryCatch(<br />
opbase.data(ident, subset = "relaationpoistot", exclude = list(Sivu = "Ympäristöministeriön tulevaisuuskatsaus")),<br />
error = function(...) return(NULL)<br />
)<br />
out <- tryCatch(<br />
ymout <- opbase.data("Op_fi4530.relaationpoistot"),<br />
error = function(...) return(NULL)<br />
)<br />
<br />
out <- rbind(out, ymout)<br />
<br />
if (!is.null(out)) {<br />
opbase.upload(<br />
out, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
who = wiki_username<br />
)<br />
}<br />
<br />
<br />
#out <- data.frame(<br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
<br />
out <- tryCatch(<br />
opbase.data(ident, subset = "Avainsananpoistot", exclude = list(Sivu = "Ympäristöministeriön tulevaisuuskatsaus")),<br />
error = function(...) return(NULL)<br />
)<br />
out <- tryCatch(<br />
ymout <- opbase.data("Op_fi4530.Avainsananpoistot"),<br />
error = function(...) return(NULL)<br />
)<br />
<br />
out <- rbind(out, ymout)<br />
<br />
if (!is.null(out)) {<br />
opbase.upload(<br />
out, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
who = wiki_username<br />
)<br />
}<br />
<br />
<br />
<br />
#opbase.upload(<br />
# out, <br />
# name = pagename, <br />
# subset = "Avainsananpoistot", <br />
# who = wiki_username<br />
#)<br />
</rcode><br />
=== Versiot ===<br />
<t2b name="Versiot" index="Versio,Sivu,Ident" unit="OldID"><br />
1|Liikenne ja viestintä palveluna|Op_fi4248|<br />
1|Liikenteen palvelumarkkinat|Op_fi4253|<br />
1|Liikenteen energiareformi|Op_fi4254|<br />
1|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
1|Monipuoliset sisällöt|Op_fi4256|<br />
1|Oma Painotus Teema I|Op_fi4257|<br />
1|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
1|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
1|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
1|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
1|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
1|Oma Painotus Teema II|Op_fi4262|<br />
1|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
1|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
1|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
1|Arktinen strategia|Op_fi4265|<br />
1|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
1|Oma Painotus Teema III|Op_fi4267|<br />
2|Liikenne ja viestintä palveluna|Op_fi4248|<br />
2|Liikenteen palvelumarkkinat|Op_fi4253|<br />
2|Liikenteen energiareformi|Op_fi4254|<br />
2|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
2|Monipuoliset sisällöt|Op_fi4256|<br />
2|Oma Painotus Teema I|Op_fi4257|<br />
2|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
2|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
2|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
2|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
2|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
2|Oma Painotus Teema II|Op_fi4262|<br />
2|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
2|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
2|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
2|Arktinen strategia|Op_fi4265|<br />
2|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
2|Oma Painotus Teema III|Op_fi4267|<br />
</t2b><br />
<br />
===Jakeet===<br />
'''Kaikkien kenttien arvot saa erotella pilkuilla tässä haussa'''<br />
<rcode label="Näytä jakeet" name="jakeet" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Jakeita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
<rcode label="Poista jae" name="jakeenpoisto" embed=1 variables="<br />
name:sivu|description:Poistettavan jakeen sivu|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Poistettavan jakeen ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Tekninen jae';Tekninen jae;<br />
'Jae ei liity sivun aiheeseen';Jae ei liity sivun aiheeseen;<br />
'Jae on häiriköintiä';Jae on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jaeid <- strsplit(jaeid, ",", fixed = TRUE)[[1]]<br />
jaeid <- gsub(" ", "", jaeid)<br />
<br />
if (sum(nchar(jaeid)) == 0) stop("Anna jakeen ID")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame(<br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = as.character(jaeid)<br />
)<br />
<br />
opbase.upload(<br />
out, <br />
who = wiki_username, <br />
name = pagename,<br />
subset = "Jakeenpoistot",<br />
act_type = "append", <br />
language = "fin"<br />
)<br />
</rcode><br />
<br />
<rcode label="Lisää jae" name="jakeenlisays" embed=1 variables="<br />
name:sivu|description:Sivu jolle jae lisätään|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:sisalto|description:Jakeen sisältö|type:textbox|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame( <br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
JaeID = NA,<br />
Result = sisalto<br />
)<br />
<br />
ident.subset <- paste(ident, "Jakeenlisaykset", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
filter$Sivu <- sivu<br />
<br />
upload_with_autoid(<br />
out,<br />
ident.subset,<br />
id_name = "JaeID",<br />
pagename = pagename,<br />
prefix = "L",<br />
filter = filter<br />
)<br />
</rcode><br />
<br />
=== Avainsanat ===<br />
<rcode label="Näytä avainsanat" name="avainsanat_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka avainsanoja haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
out <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<rcode label="Lisää avainsana" name="avainsanat" embed=1 variables="<br />
name:sivu|description:Minkä sivun jakeelle haluat lisätä avainsanoja?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Mikä on jakeen versio?|type:text|default:nykyinen|<br />
name:jae|description:Mikä on jakeen ID?|type:text|<br />
name:yl_avainsanat|description:Valitse alla olevasta listasta yleisiä avainsanoja.|type:checkbox|options:<br />
'Päätös';A Päätös (jae sisältää päätös- tai toimintaehdotuksen);<br />
'Vaikutus';B Vaikutus (jae kuvaa ilmiötä tai vaikutusta);<br />
'Arvo';C Arvo (jakeessa on arvoarvostelma tai kuvaa asian merkitystä);<br />
'Työn tekemiseen liittyvä';D Katsaustyön tekemiseen liittyvä;<br />
'Epäselvä luokka';E Ei mikään edellisistä (valitse ainakin yksi A-E)|<br />
name:avainsanat|description:Laita halutessasi yllä listaamattomattomia avainsanoja tähän pilkulla eroteltuna.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
avainsanat <- strsplit(avainsanat, ",", fixed = TRUE)[[1]]<br />
avainsanat <- gsub(" ", "", avainsanat)<br />
avainsanat <- avainsanat[nchar(avainsanat) > 0]<br />
avainsanat <- c(yl_avainsanat, avainsanat)<br />
if (length(avainsanat) == 0) stop("Yhtään avainsanaa ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
AvainsanaID = NA, <br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Sivu = sivu,<br />
JaeID = as.character(jae), <br />
Result = avainsanat<br />
)<br />
<br />
ident.subset <- paste(ident, "Avainsanat", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "AvainsanaID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Avainsanojen lisääminen onnistui.\n")<br />
</rcode><br />
<br />
<rcode name="avainsananpoisto" embed=1 label="Poista avainsana" showcode=0 variables="<br />
name:avid|description:Poistettavan avainsanan ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Avainsana ei päde uudessa versiossa';Avainsana ei päde uudessa versiossa;<br />
'Virheellinen avainsana';Virheellinen avainsana|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
avid <- strsplit(avid, ",", fixed = TRUE)[[1]]<br />
avid <- gsub(" ", "", avid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = avid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Avainsana poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Relaatiot ===<br />
<rcode label="Näytä relaatiot" name="relaatiot_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka relaatioita haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
out <- rbind(rel1, rel2)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(<br />
out, <br />
include.rownames = FALSE,<br />
caption = "Relaatiot", <br />
caption.placement = "top"<br />
)<br />
} else {<br />
cat("Relaatioita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
<rcode label="Lisää relaatio" name="relaatio" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:nykyinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID?|type:text|<br />
name:relaatio|description:'''Kuinka lähtöjae liittyy kohdejakeeseen?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'tukee tai on linjassa';tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';on neutraali suhteessa;<br />
'on uusi linjaus tai painotus';on uusi linjaus tai painotus;<br />
'kuuluu ryhmään/kokoelmaan';kuuluu ryhmään/kokoelmaan|<br />
name:lisarelaatio|description:VAPAAEHTOINEN Voit antaa oman jakeiden välisen relaation vapaakenttään.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
relaatio <- ifelse(lisarelaatio == '', relaatio, lisarelaatio)<br />
if (nchar(gsub(" ", "", relaatio)) == 0) stop("Relaatiota ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = relaatio<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Relaation lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
<rcode label="Lisää sisällytys" name="sisallytys" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:edellinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID (uudemmassa versiossa)?|type:text|<br />
name:sisallytys|description:'''Sisällytettiinkö ehdotus uudempaan versioon?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun;<br />
'ehdotus ei ole antanut aihetta muutoksiin';ehdotus ei ole antanut aihetta muutoksiin|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
if (nchar(gsub(" ", "", sisallytys)) == 0) stop("Sisällytyksen tyyppiä ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "edellinen") {<br />
version <- get_current_version(ident) - 1<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = sisallytys<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Sisällytyksen lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
<rcode name="relaationpoisto" embed=1 label="Poista relaatio" showcode=0 variables="<br />
name:relid|description:Poistettavan relaation ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Relaatio ei päde uudessa versiossa';Relaatio ei päde uudessa versiossa;<br />
'Virheellinen relaatio';Virheellinen relaatio|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
relid <- strsplit(relid, ",", fixed = TRUE)[[1]]<br />
relid <- gsub(" ", "", relid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = relid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Relaatio poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Kehittyneemmät hakukoneet ===<br />
'''Hae jakeita ja niihin liittyviä avainsanoja'''<br />
<rcode label="Hae" name="avainsanat_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) == 0) {<br />
stop("Jakeita ei löytynyt!")<br />
}<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
} else {<br />
colnames(tags)[colnames(tags) == "Result"] <- "Avainsana"<br />
out <- join(<br />
tags[c("Versio", "Sivu", "JaeID", "AvainsanaID", "Avainsana")],<br />
out[c("Versio", "Sivu", "JaeID", "Result")]<br />
)<br />
# Jos annettiin vain yksi versio ja/tai sivu niin niitä ei tarvitse printata<br />
filter_ind <- NULL<br />
if (length(version) != 1) filter_ind <- c(filter_ind, "Versio")<br />
if (length(sivu) != 1) filter_ind <- c(filter_ind, "Sivu")<br />
filter_ind <- c(filter_ind, "JaeID")<br />
oprint(out[c(filter_ind, "Result", "AvainsanaID", "Avainsana")], include.rownames = FALSE, show_all = TRUE)<br />
}<br />
</rcode><br />
<br />
'''Hae relaatioita ja niihin kuuluvia jakeita'''<br />
<rcode label="Hae" name="relaatiot_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta relaatioita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:liitsis|description:Liittymistyyppi (tyhjä = kaikki)|type:checkbox|options:<br />
'tukee tai on linjassa';Tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';Vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';On neutraali suhteessa;<br />
'on uusi linjaus tai painotus';On uusi linjaus tai painotus;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';Ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';Ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin';Ehdotus ei ole antanut aihetta muutoksiin;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';Ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
# Eri sisältymistyypit pitää määritellä niin että ne voidaan käsitellä erillään muista relaatioista<br />
sis_opt <- c(<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu',<br />
'ehdotus huomioitu ja uusi kohta lisätty',<br />
'ehdotus ei ole antanut aihetta muutoksiin', <br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun'<br />
)<br />
#liit_opt <- c(<br />
# 'tukee tai on linjassa',<br />
# 'vastustaa tai on ristiriidassa',<br />
# 'on neutraali suhteessa',<br />
# 'on uusi linjaus tai painotus'<br />
#)<br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (!is.null(liitsis)) rel <- rel[rel$Result %in% liitsis, ]<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = unique(c(<br />
as.character(rel$Sivu1), <br />
as.character(rel$Sivu2)<br />
)), <br />
versio = version, <br />
jae = unique(c(<br />
as.character(rel$JaeID1), <br />
as.character(rel$JaeID2)<br />
))<br />
)<br />
if (nrow(jakeet) == 0) stop("Relaatioissa listattuja jakeita ei löytynyt!")<br />
<br />
# Relaatiot<br />
if (nrow(rel[!(rel$Relaatio %in% sis_opt),]) > 0) {<br />
jakeet <- jakeet[c("Versio", "Sivu", "JaeID", "Result")]<br />
colnames(jakeet)[colnames(jakeet) == "JaeID"] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu"] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Jae1"<br />
rel <- rel[c("RelaatioID", "Versio", "Sivu1", "JaeID1", "Result", "Sivu2", "JaeID2")]<br />
colnames(rel)[colnames(rel) == "Result"] <- "Relaatio"<br />
out <- join(<br />
rel[(!(rel$Relaatio %in% sis_opt)) & rel$Versio %in% original_version,], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei relaatioita!\n")<br />
}<br />
<br />
# Sisällytykset<br />
if (nrow(rel[(rel$Relaatio %in% sis_opt),]) > 0) {<br />
colnames(jakeet)[colnames(jakeet) %in% c("JaeID","JaeID2")] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Sivu", "Sivu2")] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Result", "Jae2")] <- "Jae1"<br />
colnames(rel)[colnames(rel) == "Relaatio"] <- "Sisällytys"<br />
out <- join(<br />
rel[rel$Sisällytys %in% sis_opt & rel$Versio %in% version[-length(version)],], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
jakeet$Versio <- as.numeric(as.character(jakeet$Versio)) - 1<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Sisällytys", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Sisällytys (uudempaan versioon)", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei sisällytyksiä!\n")<br />
}<br />
}<br />
</rcode><br />
<br />
===Analyysi===<br />
'''Tässä voit hakea jakeita ja analysoida niiden määriä hakemalla yhdellä tai useammalla avainsanalla. '''<br />
<br />
Käytetyt avainsanat:<br />
{{piilotettu|<br />
3D-tulostus Aikataulut Ajoneuvokanta Alueellisuus <br />
alustus Ammattiryhmät Arvo Asutus <br />
Aurinko Automatisaatio Avoimuus Big Data <br />
Biopolttoaine Dataliikenne Digitalisoituminen Eettisyys <br />
eIDAS Elintaso Energia Epäselvä luokka <br />
Eriarvoisuus Erityisryhmät Esineiden internet Globaalius <br />
Globaaluis Henkilökortti Henkilötiedot Huutokauppa <br />
Hybridi Hybridi-TV Hyvinvointi Hyvinvointiyhteiskunta <br />
Häiriöt Ilmasto Infrastruktuuri Innovatiivisus <br />
Innovatiivisuus Internet Investoinnit Joukkoliikenne <br />
Joustavuus Julkinen valta Kaivosteollisuus Kansainvälisyys <br />
Kasvihuonekaasut Kaupallisuus Kaupungit Kehitys <br />
Kestävyys Kevyen liikenteen väylät Kevytliikenne Kiinteistöt <br />
Kilpailu Kilpailukyky Konesalit Konkreettisuus <br />
Kotimaisuus Koulutus Kunnat Kustannustehokkuus <br />
Kuuluvuus Kävely Laajakaista Lainsäädäntö <br />
Laiton tarjonta Langattomuus Lappi Lentoliikenne <br />
Liikenne Liikenneverkostot Liikkumistili Linja-autot <br />
Logistiikka Luonnonsuojelu Lämmitys Maakaasu <br />
Maatalous Mainonta Markkinat Massavalvonta <br />
Meriliikenne Metadata Mobiiliverkko Mopot <br />
Nopeus Ohjaus Ohjelmistot Ohjelmistotoimittaja <br />
Oikeusturva Omavaraisuus Operaattori Osaaminen <br />
Ostovoima Palaute Palvelut Palvelutaso <br />
Peruskunto Pilvipalvelut Polttoaine Posti <br />
Puelueettomuus Pysäköinti Pyöräily Päivitys <br />
Pääkaupunkiseutu Päästöt Päätöksenteko Päätös <br />
Raha Rahoitus Rahtliikenne Rajapinnat <br />
Rakennemuutos Rakentaminen Raskas liikenne Rautatiet <br />
Riippuvuus Rikokset Robotisaatio Ruuhkamaksu <br />
Ruuhkautuminen Saatavuus Sateliittipaikannus Sovellukset <br />
Strategia Suunnittelu Sähkö Sähköauto <br />
Sääntely Säästöt Talous Talouskasvu <br />
Tarpeet Tasa-arvo Tasapuolisuus Tasavertaisuus <br />
Tavaraliikenne Tehokkuus Tekijänoikeus Tekniikkaneutraalius <br />
Tekninen tuki Teknologia Teknologianeutraalius Teollisuus <br />
Terveydenhuolto Terveys testi Tiedon avoimuus <br />
Tiedon hallinnointi Tiedon hallinta Tiedon hyödyntäminen Tieliikenne <br />
Tietoliikenne Tietoturva Toimilupa Toiminta <br />
Toimintavarmuus Toimivuus Tuki Turvallisuus <br />
Turvaverkko Tutkimus Tuuli TV <br />
Työllisyys Työn tekemiseen liittyvä Ulkomaat Uudistus <br />
Vaihtoehtoiset polttoaineet Vaikuttaminen Vaikutus Vakuutus <br />
Valinnanvapaus Valtio Varmenne Varmuus <br />
Vastuu Verkostoituminen Verotus Vesiliikenne <br />
Vesiliikenne, Tasavertaisuus Viestintäverkot Viranomaiset Yhteensopivuus <br />
Yhteiskunta Yhteiskuntamurros Yhteistyö Yhteysnopeus <br />
Yksityisautoilu Yksityisyydensuoja YLE Yleispalvelu <br />
Yleisradio Ympäristö Yritykset Öljy <br />
}}<br />
<br />
<rcode label="Näytä jakeita/tilastoja" name="jae_stats" embed=1 graphics=1 variables="<br />
name:sivu|description:Minkä sivun jakeita haluat tarkastella?|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:avainsanat|description:Hae jakeita joilla on ainakin yksi seuraavista avainsanoista|type:text|<br />
name:avainsanat_all|description:Hae jakeita joilla on kaikki seuraavat avainsanat|type:text|<br />
name:jaelista|description:Haluatko nähdä kaikki löydetyt jakeet?|type:selection|options:FALSE;En;TRUE;Kyllä|default:FALSE|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
library(ggplot2)<br />
<br />
filter <- list()<br />
if (nchar(gsub(" ", "", avainsanat)) > 0) {<br />
avainsanat <- strsplit(avainsanat, ",")[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat) <br />
} else {<br />
avainsanat <- NULL<br />
}<br />
if (nchar(gsub(" ", "", avainsanat_all)) > 0) {<br />
avainsanat_all <- strsplit(avainsanat_all, ",")[[1]]<br />
avainsanat_all <- gsub("^\\s*|\\s*$", "", avainsanat_all)<br />
#filter$Avainsana <- avainsanat_all<br />
} else {<br />
avainsanat_all <- NULL<br />
}<br />
filter$Sivu <- sivu<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
filter$Versio <- version<br />
<br />
if (length(filter) == 0) filter <- NULL<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
jaeid <- NULL<br />
<br />
if (!is.null(avainsanat)|!is.null(avainsanat_all)) {<br />
tags <- tags[tags$Result %in% c(avainsanat, avainsanat_all), ]<br />
jaeid <- unique(as.character(tags$JaeID))<br />
}<br />
<br />
if(!is.null(avainsanat_all)) {<br />
temp <- list()<br />
for (i in 1:nrow(jaeid)) {<br />
temp[[i]] <- avainsanat_all %in% tags$Result[tags$JaeID == jaeid[i]]<br />
}<br />
temp <- lapply(temp, all)<br />
jaeid <- jaeid[temp]<br />
tags <- tags[tags$JaeID %in% jaeid,]<br />
}<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt.\n")<br />
}<br />
<br />
if (is.null(filter)) {<br />
filter2 <- list()<br />
} else {<br />
filter2 <- filter<br />
}<br />
<br />
filter2$JaeID <- jaeid<br />
<br />
if (length(filter2) == 0) filter2 <- NULL<br />
<br />
if (jaelista) {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = filter2$Sivu, # *list$non-existent returns NULL<br />
versio = filter2$Versio, <br />
jae = filter2$JaeID<br />
)<br />
if (nrow(jakeet) == 0) {<br />
cat("Avainsanoissa listattuja jakeita ei löytynyt.\n")<br />
} else {<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Sisältö"<br />
tagged <- NULL<br />
if (nrow(tags) > 0) {<br />
#tagged <- join(<br />
# jakeet[c("Versio", "Sivu", "Aihe", "JaeID")], <br />
# tags[c("Versio", "Sivu", "JaeID", "Result")]<br />
#)<br />
#colnames(tagged)[colnames(tagged) == "Result"] <- "Avainsana"<br />
tagged <- tapply(tags$Result, tags[c("Versio", "Sivu", "JaeID")], paste, collapse = ", ")<br />
tagged <- as.data.frame(as.table(tagged))<br />
colnames(tagged)[colnames(tagged) == "Freq"] <- "Avainsanat"<br />
tagged <- join(<br />
jakeet[c("Versio", "Sivu", "JaeID", "Sisältö")], <br />
tagged[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
type = "inner",<br />
match = "first"<br />
)<br />
oprint(<br />
tagged[c("Versio", "Sivu", "JaeID", "Sisältö", "Avainsanat")],<br />
caption = "Jakeet", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = rep(0, 6)<br />
)<br />
}<br />
}<br />
}<br />
<br />
if (nrow(tags) > 0) {<br />
tags_out <- ddply(tags, "Result", nrow)<br />
colnames(tags_out) <- c("Avainsana", "Lukumäärä")<br />
tags_out <- tags_out[order(tags_out$Lukumäärä, decreasing = TRUE),]<br />
oprint(<br />
tags_out,<br />
caption = "Avainsanojen lukumäärät", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = c(0, 0, 0)<br />
)<br />
ggplot(tags_out, aes(x = Avainsana, y = Lukumäärä, fill = Avainsana)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Avainsanojen frekvenssit")<br />
}<br />
<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter3 <- list()<br />
filter3$Sivu1 <- sivu<br />
filter3$Versio <- version<br />
filter3$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter3$JaeID1 <- NULL<br />
filter3$Sivu1 <- NULL<br />
filter3$JaeID2 <- jaeid<br />
filter3$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
related <- rel[<br />
rel$Result %in% c(<br />
"on neutraali suhteessa", <br />
"on uusi linjaus tai painotus", <br />
"tukee tai on linjassa", <br />
"vastustaa tai on ristiriidassa"<br />
), ]<br />
related$Result <- as.character(related$Result)<br />
affected <- rel[<br />
rel$Result %in% c(<br />
"ehdotus ei ole antanut aihetta muutoksiin",<br />
"ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun", <br />
"ehdotus huomioitu ja liittyvää painotusta muutettu",<br />
"ehdotus huomioitu ja uusi kohta lisätty"<br />
), ]<br />
affected$Result <- as.character(affected$Result)<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin"] <- "Ei aihetta muutoksiin"<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun"] <- "Sisältyy valmiiksi"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja liittyvää painotusta muutettu"] <- "Huomioitu painotuksella"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja uusi kohta lisätty"] <- "Huomioitu lisäyksellä"<br />
<br />
related_out <- ddply(related, "Result", nrow)<br />
colnames(related_out) <- c("Relaatio", "Lukumäärä")<br />
<br />
affected_out <- ddply(affected, "Result", nrow)<br />
colnames(affected_out) <- c("Sisällytys", "Lukumäärä")<br />
}<br />
<br />
if (nrow(related_out > 0)) {<br />
ggplot(related_out, aes(x = Relaatio, y = Lukumäärä, fill = Relaatio)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Relaatioiden frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
<br />
if (nrow(affected_out > 0)) {<br />
ggplot(affected_out, aes(x = Sisällytys, y = Lukumäärä, fill = Sisällytys)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Sisällytyksen frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
</rcode><br />
=== Sulautus ===<br />
{{tuloslinkki}}<br />
<rcode label="Etsi sulautuksia" name="sulautus" embed=0 variables="<br />
name:sivu|description:Sivut joihin sulautus tehdään (kaikista edellisen version jakeista)|type:checkbox|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:toleranssi|description:Toleranssi (Levenshtein distance)|default:5|<br />
name:tallenna|description:Tallenna kantaan|type:selection|options:TRUE;Kyllä;FALSE;Ei|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
mdat <- get_meta_data(ident)<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
version <- c(version - 1, version)<br />
<br />
jakeet <- jaehakukone(ident, versio = version)<br />
<br />
ver1 <- jakeet[jakeet$Versio == version[1],]<br />
ver2 <- jakeet[jakeet$Versio == version[2] & jakeet$Sivu == sivu,]<br />
<br />
# adist too slow<br />
d <- adist(<br />
ver1$Result, <br />
ver2$Result,<br />
fixed = FALSE<br />
)<br />
d[is.na(d)] <- Inf<br />
#d_min <- apply(d, 1, min)<br />
#d_tol <- d <= toleranssi<br />
#d_out <- apply(d, 1, which.min)<br />
<br />
colnames(ver1)[colnames(ver1) == "Versio"] <- "Versio1"<br />
colnames(ver1)[colnames(ver1) == "Sivu"] <- "Sivu1"<br />
colnames(ver1)[colnames(ver1) == "JaeID"] <- "JaeID1"<br />
colnames(ver1)[colnames(ver1) == "Result"] <- "Result1"<br />
<br />
colnames(ver2)[colnames(ver2) == "Versio"] <- "Versio2"<br />
colnames(ver2)[colnames(ver2) == "Sivu"] <- "Sivu2"<br />
colnames(ver2)[colnames(ver2) == "JaeID"] <- "JaeID2"<br />
colnames(ver2)[colnames(ver2) == "Result"] <- "Result2"<br />
<br />
#out <- cbind(ver1[d_min <= toleranssi, ], ver2[d_out[d_min <= toleranssi], ])<br />
<br />
d <- alply(d, 1, I)<br />
d_tol <- llply(d, function(x) {x <= toleranssi})<br />
d_reps <- laply(d_tol, sum)<br />
d_w <- llply(d_tol, which)<br />
d_w <- unlist(d_w)<br />
<br />
out <- cbind(ver1[rep(1:nrow(ver1), d_reps),], ver2[d_w, ])<br />
<br />
#d <- NULL<br />
#n <- NULL<br />
#for (i in 1:nrow(ver1)) {<br />
# for (j in split(ver2$Result, ceiling((1:nrow(ver2)) / 100))) {<br />
# temp <- agrep(ver1$Result[i], j, toleranssi)<br />
# d <- append(d, temp)<br />
# n <- append(n, length(temp))<br />
# }<br />
#}<br />
<br />
#out <- cbind(<br />
# ver1[rep(1:nrow(ver1), n),],<br />
# ver2[d,]<br />
#)<br />
if (tallenna) {<br />
opbase.upload(<br />
out,<br />
name = pagename,<br />
who = wiki_username,<br />
subset = "Sulautukset"<br />
)<br />
} else { <br />
oprint(<br />
out, <br />
include.rownames = FALSE, <br />
digits = rep(0, ncol(out) + 1), <br />
caption("Sulautus uuteen versioon"), <br />
caption.placement = "top",<br />
show.all = TRUE<br />
)<br />
}<br />
</rcode></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Liikenne_ja_viestint%C3%A4_digitaalisessa_Suomessa_2020/Sis%C3%A4ll%C3%B6nanalyysi&diff=25113
Liikenne ja viestintä digitaalisessa Suomessa 2020/Sisällönanalyysi
2014-07-28T11:36:35Z
<p>Teemu R: /* Tägikone */</p>
<hr />
<div>{{LVM}}<br />
<br />
'''Tällä sivulla voit tarkastella liikenneministeriön tulevaisuuskatsauksen sisältöä ja kansalaisten antamien kommenttien suhdetta siihen. <br />
Alla olevilla työkaluilla voit hakea tekstin jakeita eli erillisiä tekstikappaleita ja niihin liittyviä avainsanoja tai muita jakeita. Relaatiot tarkoittavat kuvailua siitä, millä tavalla kaksi jaetta liittyy toisiinsa.<br />
<br />
== Tägikone ==<br />
{{tuloslinkki}}<br />
<rcode label="Päivitä tietokantarakenne" variables="<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
#library(plyr)<br />
<br />
jakeet <- opbase.data(paste("Op_fi4362", "Jakeet", sep = "."), 12748)<br />
jakeet$Versio <- 1<br />
temp <- jakeet[grep("^U", jakeet$JaeID),]<br />
temp <- jakeet[!(jakeet$Sivu %in% unique(as.character(temp$Sivu))),]<br />
temp$Versio <- 2<br />
jakeet$Versio[grep("^U", jakeet$JaeID)] <- 2<br />
jakeet$JaeID <- gsub("[A-Za-z]", "", as.character(jakeet$JaeID))<br />
jakeet <- rbind(jakeet, temp)<br />
jakeet$Aihe <- NA<br />
<br />
ymjakeet <- opbase.data("Op_fi4530.jakeet")<br />
ymspan <- 1:nrow(ymjakeet)<br />
ymjakeet <- ymjakeet[rep(ymspan, 2), ]<br />
ymjakeet$Versio <- 2<br />
ymjakeet$Versio[ymspan] <- 1<br />
<br />
jakeet <- rbind(jakeet, ymjakeet)<br />
<br />
opbase.upload(<br />
jakeet[c("Versio", "Sivu", "Aihe", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeet"<br />
)<br />
<br />
jaepois <- opbase.data(paste("Op_fi4362", "Jakeenpoistot", sep = "."))<br />
#jaepois <- data.frame(<br />
# Versio = 0,<br />
# Sivu = NA, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
jaepois$Versio <- 1<br />
jaepois$Aika <- NA # date()<br />
jaepois$Käyttäjä <- NA # wiki_username<br />
jaepois$Versio[grep("^[Uu]", jaepois$Result)] <- 2<br />
temp <- jaepois[!(jaepois$Sivu %in% unique(jaepois$Sivu[jaepois$Versio == 2])), ]<br />
temp$Versio <- 2<br />
jaepois <- rbind(jaepois, temp)<br />
<br />
tryCatch(<br />
ymjaepois <- opbase.data("Op_fi4530.jakeenpoistot"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymjaepois)) {<br />
ymspan <- 1:nrow(ymjaepois)<br />
ymjaepois <- ymjaepois[rep(ymspan, 2), ]<br />
ymjaepois$Versio <- 2<br />
ymjaepois$Versio[ymspan] <- 1<br />
<br />
jaepois <- rbind(jaepois, ymjaepois)<br />
}<br />
<br />
opbase.upload(<br />
jaepois[c("Versio", "Sivu", "Aika", "Käyttäjä", "Syy", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeenpoistot"<br />
)<br />
<br />
jaelisa <- opbase.data(paste("Op_fi4362", "jakeenlisays", sep = "."))<br />
#out <- data.frame( <br />
# Versio = 0,<br />
# Sivu = NA, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# JaeID = NA,<br />
# Result = "Alustus"<br />
#)<br />
jaelisa$Versio <- 1<br />
jaelisa$Aika <- NA # date()<br />
jaelisa$Käyttäjä <- NA # wiki_username<br />
temp <- jaelisa<br />
temp$Versio <- 2<br />
jaelisa <- rbind(jaelisa, temp)<br />
<br />
tryCatch(<br />
ymjaelisa <- opbase.data("Op_fi4530.jakeenlisaykset"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymjaelisa)) {<br />
ymspan <- 1:nrow(ymjaelisa)<br />
ymjaelisa <- ymjaelisa[rep(ymspan, 2), ]<br />
ymjaelisa$Versio <- 2<br />
ymjaelisa$Versio[ymspan] <- 1<br />
<br />
jaelisa <- rbind(jaelisa, ymjaelisa)<br />
}<br />
<br />
opbase.upload(<br />
jaelisa[c("Versio", "Sivu", "Aika", "Käyttäjä", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeenlisaykset"<br />
)<br />
<br />
avainsanat <- opbase.data(paste("Op_fi4362", "avainsanat", sep = "."))<br />
<br />
#out <- data.frame(<br />
# AvainsanaID = NA, <br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Sivu = NA,<br />
# JaeID = NA, <br />
# Result = "Alustus"<br />
#)<br />
avainsanat$AvainsanaID <- 1:nrow(avainsanat)<br />
avainsanat$Versio <- 1<br />
avainsanat$JaeID <- avainsanat$Jae<br />
avainsanat$Result <- avainsanat$Avainsana<br />
temp <- avainsanat<br />
temp$Versio <- 2<br />
avainsanat <- rbind(avainsanat, temp)<br />
<br />
tryCatch(<br />
ymavainsanat <- opbase.data("Op_fi4530.avainsanat"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymavainsanat)) {<br />
ymavainsanat$AvainsanaID <- ymavainsanat$AvainsanaID + nrow(avainsanat)<br />
ymspan <- 1:nrow(ymavainsanat)<br />
ymavainsanat <- ymavainsanat[rep(ymspan, 2), ]<br />
ymavainsanat$Versio <- 2<br />
ymavainsanat$Versio[ymspan] <- 1<br />
<br />
avainsanat <- rbind(avainsanat, ymavainsanat)<br />
}<br />
<br />
opbase.upload(<br />
avainsanat[c("AvainsanaID", "Versio", "Aika", "Käyttäjä", "Sivu", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Avainsanat"<br />
)<br />
<br />
# Tuli LVM tägikoneen päivityksen kanssa tämmönen ongelma vastaan: Edellisen tägikoneen relaatioiden <br />
# syöttökoodin takia jakeet on usein relaatiossa sen jakeen kanssa johon ne on sisällytetty (vastustaa/puolustaa/jne), <br />
# mikä ei käy järkeen koska relaatiot pätevät pääasiassa saman version sisällä toisin kuin sisällytys mikä tapahtuu <br />
# seuraavaan versioon. Sisällytys on ihan eri asia kuin relaatio, se on vaan samanmuotoinen kuin relaatio ja siksi <br />
# samassa taulussa, tai ainakin tää on mun tämänhetkinen tulkinta.<br />
<br />
# Ongelma on siis tän LVM tägäyksen kanssa siinä että relaatio ja sisällytys piti antaa samanaikaisesti<br />
<br />
rel <- opbase.data(paste("Op_fi4362", "relaatiot", sep = "."))<br />
<br />
#out <- data.frame(<br />
# RelaatioID = NA,<br />
# Versio = 0, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username, <br />
# Sivu1 = NA,<br />
# JaeID1 = NA,<br />
# Sivu2 = NA,<br />
# JaeID2 = NA,<br />
# Result = "Alustus"<br />
#)<br />
#rel$RelaatioID <- 1:nrow(rel)<br />
rel$Versio <- 1<br />
rel$Sivu1 <- rel$Sivu<br />
rel$JaeID1 <- rel$Jae<br />
rel$Sivu2 <- rel$Liittymäsivu<br />
rel$JaeID2 <- rel$Liittymäjae<br />
<br />
rel1 <- rel<br />
rel1$Result <- rel$Liittyminen<br />
temp1 <- rel1[grep("^[Uu]", rel1$JaeID2),]<br />
temp1$Versio <- 2<br />
rel1 <- rel1[-grep("^[Uu]", rel1$JaeID2),]<br />
relt <- rel1<br />
relt$Versio <- 2<br />
rel1 <- rbind(rel1, relt)<br />
rel1 <- rbind(rel1, temp1)<br />
<br />
rel2 <- rel<br />
rel2$Result <- rel$Sisällytys<br />
temp2 <- rel2[grep("^[Uu]", rel2$JaeID2),]<br />
temp2$JaeID2 <- gsub("^[Uu]", "", as.character(temp2$JaeID2))<br />
#temp2$Versio <- 1<br />
rel2 <- rel2[-grep("^[Uu]", rel2$JaeID2),]<br />
rel2 <- rbind(rel2, temp2)<br />
<br />
#rel1$RelaatioID <- 1:nrow(rel1)<br />
#rel2$RelaatioID <- 1:nrow(rel2)<br />
<br />
rel <- rbind(rel1, rel2)<br />
rel$JaeID1 <- gsub("^[Uu]", "", as.character(rel$JaeID1))<br />
rel$JaeID2 <- gsub("^[Uu]", "", as.character(rel$JaeID2))<br />
<br />
tryCatch(<br />
ymrel <- opbase.data("Op_fi4530.relaatiot"),<br />
error = function(...) return(NULL)<br />
)<br />
if (!is.null(ymrel)) {<br />
ymspan <- 1:nrow(ymrel)<br />
ymrel <- ymrel[rep(ymspan, 2), ]<br />
ymrel$Versio <- 2<br />
ymrel$Versio[ymspan] <- 1<br />
<br />
rel <- rbind(rel, ymrel)<br />
}<br />
<br />
rel$RelaatioID[rel$Versio == 1] <- 1:nrow(rel[rel$Versio == 1,])<br />
rel$RelaatioID[rel$Versio == 2] <- 1:nrow(rel[rel$Versio == 2,])<br />
<br />
opbase.upload(<br />
rel[c("RelaatioID", "Aika", "Käyttäjä", "Sivu1", "JaeID1", "Sivu2", "JaeID2", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Relaatiot"<br />
)<br />
<br />
#out <- data.frame(<br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
<br />
out <- tryCatch(<br />
opbase.data(ident, subset = "relaationpoistot", exclude = list(Sivu = "Ympäristöministeriön tulevaisuuskatsaus")),<br />
error = function(...) return(NULL)<br />
)<br />
out <- tryCatch(<br />
ymout <- opbase.data("Op_fi4530.relaationpoistot"),<br />
error = function(...) return(NULL)<br />
)<br />
<br />
out <- rbind(out, ymout)<br />
<br />
if (!is.null(out)) {<br />
opbase.upload(<br />
out, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
who = wiki_username<br />
)<br />
}<br />
<br />
<br />
#out <- data.frame(<br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
<br />
out <- tryCatch(<br />
opbase.data(ident, subset = "Avainsananpoistot", exclude = list(Sivu = "Ympäristöministeriön tulevaisuuskatsaus")),<br />
error = function(...) return(NULL)<br />
)<br />
out <- tryCatch(<br />
ymout <- opbase.data("Op_fi4530.Avainsananpoistot"),<br />
error = function(...) return(NULL)<br />
)<br />
<br />
out <- rbind(out, ymout)<br />
<br />
if (!is.null(out)) {<br />
opbase.upload(<br />
out, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
who = wiki_username<br />
)<br />
}<br />
<br />
<br />
<br />
#opbase.upload(<br />
# out, <br />
# name = pagename, <br />
# subset = "Avainsananpoistot", <br />
# who = wiki_username<br />
#)<br />
</rcode><br />
=== Versiot ===<br />
<t2b name="Versiot" index="Versio,Sivu,Ident" unit="OldID"><br />
1|Liikenne ja viestintä palveluna|Op_fi4248|<br />
1|Liikenteen palvelumarkkinat|Op_fi4253|<br />
1|Liikenteen energiareformi|Op_fi4254|<br />
1|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
1|Monipuoliset sisällöt|Op_fi4256|<br />
1|Oma Painotus Teema I|Op_fi4257|<br />
1|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
1|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
1|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
1|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
1|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
1|Oma Painotus Teema II|Op_fi4262|<br />
1|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
1|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
1|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
1|Arktinen strategia|Op_fi4265|<br />
1|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
1|Oma Painotus Teema III|Op_fi4267|<br />
2|Liikenne ja viestintä palveluna|Op_fi4248|<br />
2|Liikenteen palvelumarkkinat|Op_fi4253|<br />
2|Liikenteen energiareformi|Op_fi4254|<br />
2|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
2|Monipuoliset sisällöt|Op_fi4256|<br />
2|Oma Painotus Teema I|Op_fi4257|<br />
2|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
2|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
2|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
2|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
2|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
2|Oma Painotus Teema II|Op_fi4262|<br />
2|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
2|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
2|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
2|Arktinen strategia|Op_fi4265|<br />
2|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
2|Oma Painotus Teema III|Op_fi4267|<br />
</t2b><br />
<br />
===Jakeet===<br />
'''Kaikkien kenttien arvot saa erotella pilkuilla tässä haussa'''<br />
<rcode label="Näytä jakeet" name="jakeet" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Jakeita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
<rcode label="Poista jae" name="jakeenpoisto" embed=1 variables="<br />
name:sivu|description:Poistettavan jakeen sivu|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Poistettavan jakeen ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Tekninen jae';Tekninen jae;<br />
'Jae ei liity sivun aiheeseen';Jae ei liity sivun aiheeseen;<br />
'Jae on häiriköintiä';Jae on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jaeid <- strsplit(jaeid, ",", fixed = TRUE)[[1]]<br />
jaeid <- gsub(" ", "", jaeid)<br />
<br />
if (sum(nchar(jaeid)) == 0) stop("Anna jakeen ID")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame(<br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = as.character(jaeid)<br />
)<br />
<br />
opbase.upload(<br />
out, <br />
who = wiki_username, <br />
name = pagename,<br />
subset = "Jakeenpoistot",<br />
act_type = "append", <br />
language = "fin"<br />
)<br />
</rcode><br />
<br />
<rcode label="Lisää jae" name="jakeenlisays" embed=1 variables="<br />
name:sivu|description:Sivu jolle jae lisätään|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:sisalto|description:Jakeen sisältö|type:textbox|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame( <br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
JaeID = NA,<br />
Result = sisalto<br />
)<br />
<br />
ident.subset <- paste(ident, "Jakeenlisaykset", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
filter$Sivu <- sivu<br />
<br />
upload_with_autoid(<br />
out,<br />
ident.subset,<br />
id_name = "JaeID",<br />
pagename = pagename,<br />
prefix = "L",<br />
filter = filter<br />
)<br />
</rcode><br />
<br />
=== Avainsanat ===<br />
<rcode label="Näytä avainsanat" name="avainsanat_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka avainsanoja haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
out <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<rcode label="Lisää avainsana" name="avainsanat" embed=1 variables="<br />
name:sivu|description:Minkä sivun jakeelle haluat lisätä avainsanoja?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Mikä on jakeen versio?|type:text|default:nykyinen|<br />
name:jae|description:Mikä on jakeen ID?|type:text|<br />
name:yl_avainsanat|description:Valitse alla olevasta listasta yleisiä avainsanoja.|type:checkbox|options:<br />
'Päätös';A Päätös (jae sisältää päätös- tai toimintaehdotuksen);<br />
'Vaikutus';B Vaikutus (jae kuvaa ilmiötä tai vaikutusta);<br />
'Arvo';C Arvo (jakeessa on arvoarvostelma tai kuvaa asian merkitystä);<br />
'Työn tekemiseen liittyvä';D Katsaustyön tekemiseen liittyvä;<br />
'Epäselvä luokka';E Ei mikään edellisistä (valitse ainakin yksi A-E)|<br />
name:avainsanat|description:Laita halutessasi yllä listaamattomattomia avainsanoja tähän pilkulla eroteltuna.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
avainsanat <- strsplit(avainsanat, ",", fixed = TRUE)[[1]]<br />
avainsanat <- gsub(" ", "", avainsanat)<br />
avainsanat <- avainsanat[nchar(avainsanat) > 0]<br />
avainsanat <- c(yl_avainsanat, avainsanat)<br />
if (length(avainsanat) == 0) stop("Yhtään avainsanaa ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
AvainsanaID = NA, <br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Sivu = sivu,<br />
JaeID = as.character(jae), <br />
Result = avainsanat<br />
)<br />
<br />
ident.subset <- paste(ident, "Avainsanat", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "AvainsanaID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Avainsanojen lisääminen onnistui.\n")<br />
</rcode><br />
<br />
<rcode name="avainsananpoisto" embed=1 label="Poista avainsana" showcode=0 variables="<br />
name:avid|description:Poistettavan avainsanan ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Avainsana ei päde uudessa versiossa';Avainsana ei päde uudessa versiossa;<br />
'Virheellinen avainsana';Virheellinen avainsana|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
avid <- strsplit(avid, ",", fixed = TRUE)[[1]]<br />
avid <- gsub(" ", "", avid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = avid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Avainsana poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Relaatiot ===<br />
<rcode label="Näytä relaatiot" name="relaatiot_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka relaatioita haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
out <- rbind(rel1, rel2)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(<br />
out, <br />
include.rownames = FALSE,<br />
caption = "Relaatiot", <br />
caption.placement = "top"<br />
)<br />
} else {<br />
cat("Relaatioita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
<rcode label="Lisää relaatio" name="relaatio" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:nykyinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID?|type:text|<br />
name:relaatio|description:'''Kuinka lähtöjae liittyy kohdejakeeseen?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'tukee tai on linjassa';tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';on neutraali suhteessa;<br />
'on uusi linjaus tai painotus';on uusi linjaus tai painotus;<br />
'kuuluu ryhmään/kokoelmaan';kuuluu ryhmään/kokoelmaan|<br />
name:lisarelaatio|description:VAPAAEHTOINEN Voit antaa oman jakeiden välisen relaation vapaakenttään.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
relaatio <- ifelse(lisarelaatio == '', relaatio, lisarelaatio)<br />
if (nchar(gsub(" ", "", relaatio)) == 0) stop("Relaatiota ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = relaatio<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Relaation lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
<rcode label="Lisää sisällytys" name="sisallytys" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:edellinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID (uudemmassa versiossa)?|type:text|<br />
name:sisallytys|description:'''Sisällytettiinkö ehdotus uudempaan versioon?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun;<br />
'ehdotus ei ole antanut aihetta muutoksiin';ehdotus ei ole antanut aihetta muutoksiin|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
if (nchar(gsub(" ", "", sisallytys)) == 0) stop("Sisällytyksen tyyppiä ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "edellinen") {<br />
version <- get_current_version(ident) - 1<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = sisallytys<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Sisällytyksen lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
<rcode name="relaationpoisto" embed=1 label="Poista relaatio" showcode=0 variables="<br />
name:relid|description:Poistettavan relaation ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Relaatio ei päde uudessa versiossa';Relaatio ei päde uudessa versiossa;<br />
'Virheellinen relaatio';Virheellinen relaatio|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
relid <- strsplit(relid, ",", fixed = TRUE)[[1]]<br />
relid <- gsub(" ", "", relid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = relid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Relaatio poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Kehittyneemmät hakukoneet ===<br />
'''Hae jakeita ja niihin liittyviä avainsanoja'''<br />
<rcode label="Hae" name="avainsanat_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) == 0) {<br />
stop("Jakeita ei löytynyt!")<br />
}<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
} else {<br />
colnames(tags)[colnames(tags) == "Result"] <- "Avainsana"<br />
out <- join(<br />
tags[c("Versio", "Sivu", "JaeID", "AvainsanaID", "Avainsana")],<br />
out[c("Versio", "Sivu", "JaeID", "Result")]<br />
)<br />
# Jos annettiin vain yksi versio ja/tai sivu niin niitä ei tarvitse printata<br />
filter_ind <- NULL<br />
if (length(version) != 1) filter_ind <- c(filter_ind, "Versio")<br />
if (length(sivu) != 1) filter_ind <- c(filter_ind, "Sivu")<br />
filter_ind <- c(filter_ind, "JaeID")<br />
oprint(out[c(filter_ind, "Result", "AvainsanaID", "Avainsana")], include.rownames = FALSE, show_all = TRUE)<br />
}<br />
</rcode><br />
<br />
'''Hae relaatioita ja niihin kuuluvia jakeita'''<br />
<rcode label="Hae" name="relaatiot_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta relaatioita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:liitsis|description:Liittymistyyppi (tyhjä = kaikki)|type:checkbox|options:<br />
'tukee tai on linjassa';Tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';Vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';On neutraali suhteessa;<br />
'on uusi linjaus tai painotus';On uusi linjaus tai painotus;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';Ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';Ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin';Ehdotus ei ole antanut aihetta muutoksiin;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';Ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
# Eri sisältymistyypit pitää määritellä niin että ne voidaan käsitellä erillään muista relaatioista<br />
sis_opt <- c(<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu',<br />
'ehdotus huomioitu ja uusi kohta lisätty',<br />
'ehdotus ei ole antanut aihetta muutoksiin', <br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun'<br />
)<br />
#liit_opt <- c(<br />
# 'tukee tai on linjassa',<br />
# 'vastustaa tai on ristiriidassa',<br />
# 'on neutraali suhteessa',<br />
# 'on uusi linjaus tai painotus'<br />
#)<br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (!is.null(liitsis)) rel <- rel[rel$Result %in% liitsis, ]<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = unique(c(<br />
as.character(rel$Sivu1), <br />
as.character(rel$Sivu2)<br />
)), <br />
versio = version, <br />
jae = unique(c(<br />
as.character(rel$JaeID1), <br />
as.character(rel$JaeID2)<br />
))<br />
)<br />
if (nrow(jakeet) == 0) stop("Relaatioissa listattuja jakeita ei löytynyt!")<br />
<br />
# Relaatiot<br />
if (nrow(rel[!(rel$Relaatio %in% sis_opt),]) > 0) {<br />
jakeet <- jakeet[c("Versio", "Sivu", "JaeID", "Result")]<br />
colnames(jakeet)[colnames(jakeet) == "JaeID"] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu"] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Jae1"<br />
rel <- rel[c("RelaatioID", "Versio", "Sivu1", "JaeID1", "Result", "Sivu2", "JaeID2")]<br />
colnames(rel)[colnames(rel) == "Result"] <- "Relaatio"<br />
out <- join(<br />
rel[(!(rel$Relaatio %in% sis_opt)) & rel$Versio %in% original_version,], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei relaatioita!\n")<br />
}<br />
<br />
# Sisällytykset<br />
if (nrow(rel[(rel$Relaatio %in% sis_opt),]) > 0) {<br />
colnames(jakeet)[colnames(jakeet) %in% c("JaeID","JaeID2")] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Sivu", "Sivu2")] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Result", "Jae2")] <- "Jae1"<br />
colnames(rel)[colnames(rel) == "Relaatio"] <- "Sisällytys"<br />
out <- join(<br />
rel[rel$Sisällytys %in% sis_opt & rel$Versio %in% version[-length(version)],], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
jakeet$Versio <- as.numeric(as.character(jakeet$Versio)) - 1<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Sisällytys", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Sisällytys (uudempaan versioon)", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei sisällytyksiä!\n")<br />
}<br />
}<br />
</rcode><br />
<br />
===Analyysi===<br />
'''Tässä voit hakea jakeita ja analysoida niiden määriä hakemalla yhdellä tai useammalla avainsanalla. '''<br />
<br />
Käytetyt avainsanat:<br />
{{piilotettu|<br />
3D-tulostus Aikataulut Ajoneuvokanta Alueellisuus <br />
alustus Ammattiryhmät Arvo Asutus <br />
Aurinko Automatisaatio Avoimuus Big Data <br />
Biopolttoaine Dataliikenne Digitalisoituminen Eettisyys <br />
eIDAS Elintaso Energia Epäselvä luokka <br />
Eriarvoisuus Erityisryhmät Esineiden internet Globaalius <br />
Globaaluis Henkilökortti Henkilötiedot Huutokauppa <br />
Hybridi Hybridi-TV Hyvinvointi Hyvinvointiyhteiskunta <br />
Häiriöt Ilmasto Infrastruktuuri Innovatiivisus <br />
Innovatiivisuus Internet Investoinnit Joukkoliikenne <br />
Joustavuus Julkinen valta Kaivosteollisuus Kansainvälisyys <br />
Kasvihuonekaasut Kaupallisuus Kaupungit Kehitys <br />
Kestävyys Kevyen liikenteen väylät Kevytliikenne Kiinteistöt <br />
Kilpailu Kilpailukyky Konesalit Konkreettisuus <br />
Kotimaisuus Koulutus Kunnat Kustannustehokkuus <br />
Kuuluvuus Kävely Laajakaista Lainsäädäntö <br />
Laiton tarjonta Langattomuus Lappi Lentoliikenne <br />
Liikenne Liikenneverkostot Liikkumistili Linja-autot <br />
Logistiikka Luonnonsuojelu Lämmitys Maakaasu <br />
Maatalous Mainonta Markkinat Massavalvonta <br />
Meriliikenne Metadata Mobiiliverkko Mopot <br />
Nopeus Ohjaus Ohjelmistot Ohjelmistotoimittaja <br />
Oikeusturva Omavaraisuus Operaattori Osaaminen <br />
Ostovoima Palaute Palvelut Palvelutaso <br />
Peruskunto Pilvipalvelut Polttoaine Posti <br />
Puelueettomuus Pysäköinti Pyöräily Päivitys <br />
Pääkaupunkiseutu Päästöt Päätöksenteko Päätös <br />
Raha Rahoitus Rahtliikenne Rajapinnat <br />
Rakennemuutos Rakentaminen Raskas liikenne Rautatiet <br />
Riippuvuus Rikokset Robotisaatio Ruuhkamaksu <br />
Ruuhkautuminen Saatavuus Sateliittipaikannus Sovellukset <br />
Strategia Suunnittelu Sähkö Sähköauto <br />
Sääntely Säästöt Talous Talouskasvu <br />
Tarpeet Tasa-arvo Tasapuolisuus Tasavertaisuus <br />
Tavaraliikenne Tehokkuus Tekijänoikeus Tekniikkaneutraalius <br />
Tekninen tuki Teknologia Teknologianeutraalius Teollisuus <br />
Terveydenhuolto Terveys testi Tiedon avoimuus <br />
Tiedon hallinnointi Tiedon hallinta Tiedon hyödyntäminen Tieliikenne <br />
Tietoliikenne Tietoturva Toimilupa Toiminta <br />
Toimintavarmuus Toimivuus Tuki Turvallisuus <br />
Turvaverkko Tutkimus Tuuli TV <br />
Työllisyys Työn tekemiseen liittyvä Ulkomaat Uudistus <br />
Vaihtoehtoiset polttoaineet Vaikuttaminen Vaikutus Vakuutus <br />
Valinnanvapaus Valtio Varmenne Varmuus <br />
Vastuu Verkostoituminen Verotus Vesiliikenne <br />
Vesiliikenne, Tasavertaisuus Viestintäverkot Viranomaiset Yhteensopivuus <br />
Yhteiskunta Yhteiskuntamurros Yhteistyö Yhteysnopeus <br />
Yksityisautoilu Yksityisyydensuoja YLE Yleispalvelu <br />
Yleisradio Ympäristö Yritykset Öljy <br />
}}<br />
<br />
<rcode label="Näytä jakeita/tilastoja" name="jae_stats" embed=1 graphics=1 variables="<br />
name:sivu|description:Minkä sivun jakeita haluat tarkastella?|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:avainsanat|description:Hae jakeita joilla on ainakin yksi seuraavista avainsanoista|type:text|<br />
name:avainsanat_all|description:Hae jakeita joilla on kaikki seuraavat avainsanat|type:text|<br />
name:jaelista|description:Haluatko nähdä kaikki löydetyt jakeet?|type:selection|options:FALSE;En;TRUE;Kyllä|default:FALSE|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
library(ggplot2)<br />
<br />
filter <- list()<br />
if (nchar(gsub(" ", "", avainsanat)) > 0) {<br />
avainsanat <- strsplit(avainsanat, ",")[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat) <br />
} else {<br />
avainsanat <- NULL<br />
}<br />
if (nchar(gsub(" ", "", avainsanat_all)) > 0) {<br />
avainsanat_all <- strsplit(avainsanat_all, ",")[[1]]<br />
avainsanat_all <- gsub("^\\s*|\\s*$", "", avainsanat_all)<br />
#filter$Avainsana <- avainsanat_all<br />
} else {<br />
avainsanat_all <- NULL<br />
}<br />
filter$Sivu <- sivu<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
filter$Versio <- version<br />
<br />
if (length(filter) == 0) filter <- NULL<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
jaeid <- NULL<br />
<br />
if (!is.null(avainsanat)|!is.null(avainsanat_all)) {<br />
tags <- tags[tags$Result %in% c(avainsanat, avainsanat_all), ]<br />
jaeid <- unique(as.character(tags$JaeID))<br />
}<br />
<br />
if(!is.null(avainsanat_all)) {<br />
temp <- list()<br />
for (i in 1:nrow(jaeid)) {<br />
temp[[i]] <- avainsanat_all %in% tags$Result[tags$JaeID == jaeid[i]]<br />
}<br />
temp <- lapply(temp, all)<br />
jaeid <- jaeid[temp]<br />
tags <- tags[tags$JaeID %in% jaeid,]<br />
}<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt.\n")<br />
}<br />
<br />
if (is.null(filter)) {<br />
filter2 <- list()<br />
} else {<br />
filter2 <- filter<br />
}<br />
<br />
filter2$JaeID <- jaeid<br />
<br />
if (length(filter2) == 0) filter2 <- NULL<br />
<br />
if (jaelista) {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = filter2$Sivu, # *list$non-existent returns NULL<br />
versio = filter2$Versio, <br />
jae = filter2$JaeID<br />
)<br />
if (nrow(jakeet) == 0) {<br />
cat("Avainsanoissa listattuja jakeita ei löytynyt.\n")<br />
} else {<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Sisältö"<br />
tagged <- NULL<br />
if (nrow(tags) > 0) {<br />
#tagged <- join(<br />
# jakeet[c("Versio", "Sivu", "Aihe", "JaeID")], <br />
# tags[c("Versio", "Sivu", "JaeID", "Result")]<br />
#)<br />
#colnames(tagged)[colnames(tagged) == "Result"] <- "Avainsana"<br />
tagged <- tapply(tags$Result, tags[c("Versio", "Sivu", "JaeID")], paste, collapse = ", ")<br />
tagged <- as.data.frame(as.table(tagged))<br />
colnames(tagged)[colnames(tagged) == "Freq"] <- "Avainsanat"<br />
tagged <- join(<br />
jakeet[c("Versio", "Sivu", "JaeID", "Sisältö")], <br />
tagged[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
type = "inner",<br />
match = "first"<br />
)<br />
oprint(<br />
tagged[c("Versio", "Sivu", "JaeID", "Sisältö", "Avainsanat")],<br />
caption = "Jakeet", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = rep(0, 6)<br />
)<br />
}<br />
}<br />
}<br />
<br />
if (nrow(tags) > 0) {<br />
tags_out <- ddply(tags, "Result", nrow)<br />
colnames(tags_out) <- c("Avainsana", "Lukumäärä")<br />
tags_out <- tags_out[order(tags_out$Lukumäärä, decreasing = TRUE),]<br />
oprint(<br />
tags_out,<br />
caption = "Avainsanojen lukumäärät", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = c(0, 0, 0)<br />
)<br />
ggplot(tags_out, aes(x = Avainsana, y = Lukumäärä, fill = Avainsana)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Avainsanojen frekvenssit")<br />
}<br />
<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter3 <- list()<br />
filter3$Sivu1 <- sivu<br />
filter3$Versio <- version<br />
filter3$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter3$JaeID1 <- NULL<br />
filter3$Sivu1 <- NULL<br />
filter3$JaeID2 <- jaeid<br />
filter3$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
related <- rel[<br />
rel$Result %in% c(<br />
"on neutraali suhteessa", <br />
"on uusi linjaus tai painotus", <br />
"tukee tai on linjassa", <br />
"vastustaa tai on ristiriidassa"<br />
), ]<br />
related$Result <- as.character(related$Result)<br />
affected <- rel[<br />
rel$Result %in% c(<br />
"ehdotus ei ole antanut aihetta muutoksiin",<br />
"ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun", <br />
"ehdotus huomioitu ja liittyvää painotusta muutettu",<br />
"ehdotus huomioitu ja uusi kohta lisätty"<br />
), ]<br />
affected$Result <- as.character(affected$Result)<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin"] <- "Ei aihetta muutoksiin"<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun"] <- "Sisältyy valmiiksi"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja liittyvää painotusta muutettu"] <- "Huomioitu painotuksella"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja uusi kohta lisätty"] <- "Huomioitu lisäyksellä"<br />
<br />
related_out <- ddply(related, "Result", nrow)<br />
colnames(related_out) <- c("Relaatio", "Lukumäärä")<br />
<br />
affected_out <- ddply(affected, "Result", nrow)<br />
colnames(affected_out) <- c("Sisällytys", "Lukumäärä")<br />
}<br />
<br />
if (nrow(related_out > 0)) {<br />
ggplot(related_out, aes(x = Relaatio, y = Lukumäärä, fill = Relaatio)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Relaatioiden frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
<br />
if (nrow(affected_out > 0)) {<br />
ggplot(affected_out, aes(x = Sisällytys, y = Lukumäärä, fill = Sisällytys)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Sisällytyksen frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
</rcode><br />
=== Sulautus ===<br />
{{tuloslinkki}}<br />
<rcode label="Etsi sulautuksia" name="sulautus" embed=0 variables="<br />
name:sivu|description:Sivut joihin sulautus tehdään (kaikista edellisen version jakeista)|type:checkbox|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:toleranssi|description:Toleranssi (Levenshtein distance)|default:5|<br />
name:tallenna|description:Tallenna kantaan|type:selection|options:TRUE;Kyllä;FALSE;Ei|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
mdat <- get_meta_data(ident)<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
version <- c(version - 1, version)<br />
<br />
jakeet <- jaehakukone(ident, versio = version)<br />
<br />
ver1 <- jakeet[jakeet$Versio == version[1],]<br />
ver2 <- jakeet[jakeet$Versio == version[2] & jakeet$Sivu == sivu,]<br />
<br />
# adist too slow<br />
d <- adist(<br />
ver1$Result, <br />
ver2$Result,<br />
fixed = FALSE<br />
)<br />
d[is.na(d)] <- Inf<br />
#d_min <- apply(d, 1, min)<br />
#d_tol <- d <= toleranssi<br />
#d_out <- apply(d, 1, which.min)<br />
<br />
colnames(ver1)[colnames(ver1) == "Versio"] <- "Versio1"<br />
colnames(ver1)[colnames(ver1) == "Sivu"] <- "Sivu1"<br />
colnames(ver1)[colnames(ver1) == "JaeID"] <- "JaeID1"<br />
colnames(ver1)[colnames(ver1) == "Result"] <- "Result1"<br />
<br />
colnames(ver2)[colnames(ver2) == "Versio"] <- "Versio2"<br />
colnames(ver2)[colnames(ver2) == "Sivu"] <- "Sivu2"<br />
colnames(ver2)[colnames(ver2) == "JaeID"] <- "JaeID2"<br />
colnames(ver2)[colnames(ver2) == "Result"] <- "Result2"<br />
<br />
#out <- cbind(ver1[d_min <= toleranssi, ], ver2[d_out[d_min <= toleranssi], ])<br />
<br />
d <- alply(d, 1, I)<br />
d_tol <- llply(d, function(x) {x <= toleranssi})<br />
d_reps <- laply(d_tol, sum)<br />
d_w <- llply(d_tol, which)<br />
d_w <- unlist(d_w)<br />
<br />
out <- cbind(ver1[rep(1:nrow(ver1), d_reps),], ver2[d_w, ])<br />
<br />
#d <- NULL<br />
#n <- NULL<br />
#for (i in 1:nrow(ver1)) {<br />
# for (j in split(ver2$Result, ceiling((1:nrow(ver2)) / 100))) {<br />
# temp <- agrep(ver1$Result[i], j, toleranssi)<br />
# d <- append(d, temp)<br />
# n <- append(n, length(temp))<br />
# }<br />
#}<br />
<br />
#out <- cbind(<br />
# ver1[rep(1:nrow(ver1), n),],<br />
# ver2[d,]<br />
#)<br />
if (tallenna) {<br />
opbase.upload(<br />
out,<br />
name = pagename,<br />
who = wiki_username,<br />
subset = "Sulautukset"<br />
)<br />
} else { <br />
oprint(<br />
out, <br />
include.rownames = FALSE, <br />
digits = rep(0, ncol(out) + 1), <br />
caption("Sulautus uuteen versioon"), <br />
caption.placement = "top",<br />
show.all = TRUE<br />
)<br />
}<br />
</rcode></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Liikenne_ja_viestint%C3%A4_digitaalisessa_Suomessa_2020/Sis%C3%A4ll%C3%B6nanalyysi&diff=25112
Liikenne ja viestintä digitaalisessa Suomessa 2020/Sisällönanalyysi
2014-07-28T11:28:02Z
<p>Teemu R: /* Tägikone */</p>
<hr />
<div>{{LVM}}<br />
<br />
'''Tällä sivulla voit tarkastella liikenneministeriön tulevaisuuskatsauksen sisältöä ja kansalaisten antamien kommenttien suhdetta siihen. <br />
Alla olevilla työkaluilla voit hakea tekstin jakeita eli erillisiä tekstikappaleita ja niihin liittyviä avainsanoja tai muita jakeita. Relaatiot tarkoittavat kuvailua siitä, millä tavalla kaksi jaetta liittyy toisiinsa.<br />
<br />
== Tägikone ==<br />
{{tuloslinkki}}<br />
<rcode label="Päivitä tietokantarakenne" variables="<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
#library(plyr)<br />
<br />
jakeet <- opbase.data(paste("Op_fi4362", "Jakeet", sep = "."), 12748)<br />
jakeet$Versio <- 1<br />
temp <- jakeet[grep("^U", jakeet$JaeID),]<br />
temp <- jakeet[!(jakeet$Sivu %in% unique(as.character(temp$Sivu))),]<br />
temp$Versio <- 2<br />
jakeet$Versio[grep("^U", jakeet$JaeID)] <- 2<br />
jakeet$JaeID <- gsub("[A-Za-z]", "", as.character(jakeet$JaeID))<br />
jakeet <- rbind(jakeet, temp)<br />
jakeet$Aihe <- NA<br />
<br />
ymjakeet <- opbase.data("Op_fi4530.jakeet")<br />
ymspan <- 1:nrow(ymjakeet)<br />
ymjakeet <- ymjakeet[rep(ymspan, 2), ]<br />
ymjakeet$Versio <- 2<br />
ymjakeet$Versio[ymspan] <- 1<br />
<br />
jakeet <- rbind(jakeet, ymjakeet)<br />
<br />
opbase.upload(<br />
jakeet[c("Versio", "Sivu", "Aihe", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeet"<br />
)<br />
<br />
jaepois <- opbase.data(paste("Op_fi4362", "Jakeenpoistot", sep = "."))<br />
#jaepois <- data.frame(<br />
# Versio = 0,<br />
# Sivu = NA, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
jaepois$Versio <- 1<br />
jaepois$Aika <- NA # date()<br />
jaepois$Käyttäjä <- NA # wiki_username<br />
jaepois$Versio[grep("^[Uu]", jaepois$Result)] <- 2<br />
temp <- jaepois[!(jaepois$Sivu %in% unique(jaepois$Sivu[jaepois$Versio == 2])), ]<br />
temp$Versio <- 2<br />
jaepois <- rbind(jaepois, temp)<br />
<br />
ymjaepois <- opbase.data("Op_fi4530.jakeenpoistot")<br />
ymspan <- 1:nrow(ymjaepois)<br />
ymjaepois <- ymjaepois[rep(ymspan, 2), ]<br />
ymjaepois$Versio <- 2<br />
ymjaepois$Versio[ymspan] <- 1<br />
<br />
jaepois <- rbind(jaepois, ymjaepois)<br />
<br />
opbase.upload(<br />
jaepois[c("Versio", "Sivu", "Aika", "Käyttäjä", "Syy", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeenpoistot"<br />
)<br />
<br />
jaelisa <- opbase.data(paste("Op_fi4362", "jakeenlisays", sep = "."))<br />
#out <- data.frame( <br />
# Versio = 0,<br />
# Sivu = NA, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# JaeID = NA,<br />
# Result = "Alustus"<br />
#)<br />
jaelisa$Versio <- 1<br />
jaelisa$Aika <- NA # date()<br />
jaelisa$Käyttäjä <- NA # wiki_username<br />
temp <- jaelisa<br />
temp$Versio <- 2<br />
jaelisa <- rbind(jaelisa, temp)<br />
<br />
ymjaelisa <- opbase.data("Op_fi4530.jakeenlisaykset")<br />
ymspan <- 1:nrow(ymjaelisa)<br />
ymjaelisa <- ymjaelisa[rep(ymspan, 2), ]<br />
ymjaelisa$Versio <- 2<br />
ymjaelisa$Versio[ymspan] <- 1<br />
<br />
jaelisa <- rbind(jaelisa, ymjaelisa)<br />
<br />
opbase.upload(<br />
jaelisa[c("Versio", "Sivu", "Aika", "Käyttäjä", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeenlisaykset"<br />
)<br />
<br />
avainsanat <- opbase.data(paste("Op_fi4362", "avainsanat", sep = "."))<br />
<br />
#out <- data.frame(<br />
# AvainsanaID = NA, <br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Sivu = NA,<br />
# JaeID = NA, <br />
# Result = "Alustus"<br />
#)<br />
avainsanat$AvainsanaID <- 1:nrow(avainsanat)<br />
avainsanat$Versio <- 1<br />
avainsanat$JaeID <- avainsanat$Jae<br />
avainsanat$Result <- avainsanat$Avainsana<br />
temp <- avainsanat<br />
temp$Versio <- 2<br />
avainsanat <- rbind(avainsanat, temp)<br />
<br />
ymavainsanat <- opbase.data("Op_fi4530.avainsanat")<br />
ymavainsanat$AvainsanaID <- ymavainsanat$AvainsanaID + nrow(avainsanat)<br />
ymspan <- 1:nrow(ymavainsanat)<br />
ymavainsanat <- ymavainsanat[rep(ymspan, 2), ]<br />
ymavainsanat$Versio <- 2<br />
ymavainsanat$Versio[ymspan] <- 1<br />
<br />
avainsanat <- rbind(avainsanat, ymavainsanat)<br />
<br />
opbase.upload(<br />
avainsanat[c("AvainsanaID", "Versio", "Aika", "Käyttäjä", "Sivu", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Avainsanat"<br />
)<br />
<br />
# Tuli LVM tägikoneen päivityksen kanssa tämmönen ongelma vastaan: Edellisen tägikoneen relaatioiden <br />
# syöttökoodin takia jakeet on usein relaatiossa sen jakeen kanssa johon ne on sisällytetty (vastustaa/puolustaa/jne), <br />
# mikä ei käy järkeen koska relaatiot pätevät pääasiassa saman version sisällä toisin kuin sisällytys mikä tapahtuu <br />
# seuraavaan versioon. Sisällytys on ihan eri asia kuin relaatio, se on vaan samanmuotoinen kuin relaatio ja siksi <br />
# samassa taulussa, tai ainakin tää on mun tämänhetkinen tulkinta.<br />
<br />
# Ongelma on siis tän LVM tägäyksen kanssa siinä että relaatio ja sisällytys piti antaa samanaikaisesti<br />
<br />
rel <- opbase.data(paste("Op_fi4362", "relaatiot", sep = "."))<br />
<br />
#out <- data.frame(<br />
# RelaatioID = NA,<br />
# Versio = 0, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username, <br />
# Sivu1 = NA,<br />
# JaeID1 = NA,<br />
# Sivu2 = NA,<br />
# JaeID2 = NA,<br />
# Result = "Alustus"<br />
#)<br />
#rel$RelaatioID <- 1:nrow(rel)<br />
rel$Versio <- 1<br />
rel$Sivu1 <- rel$Sivu<br />
rel$JaeID1 <- rel$Jae<br />
rel$Sivu2 <- rel$Liittymäsivu<br />
rel$JaeID2 <- rel$Liittymäjae<br />
<br />
rel1 <- rel<br />
rel1$Result <- rel$Liittyminen<br />
temp1 <- rel1[grep("^[Uu]", rel1$JaeID2),]<br />
temp1$Versio <- 2<br />
rel1 <- rel1[-grep("^[Uu]", rel1$JaeID2),]<br />
relt <- rel1<br />
relt$Versio <- 2<br />
rel1 <- rbind(rel1, relt)<br />
rel1 <- rbind(rel1, temp1)<br />
<br />
rel2 <- rel<br />
rel2$Result <- rel$Sisällytys<br />
temp2 <- rel2[grep("^[Uu]", rel2$JaeID2),]<br />
temp2$JaeID2 <- gsub("^[Uu]", "", as.character(temp2$JaeID2))<br />
#temp2$Versio <- 1<br />
rel2 <- rel2[-grep("^[Uu]", rel2$JaeID2),]<br />
rel2 <- rbind(rel2, temp2)<br />
<br />
#rel1$RelaatioID <- 1:nrow(rel1)<br />
#rel2$RelaatioID <- 1:nrow(rel2)<br />
<br />
rel <- rbind(rel1, rel2)<br />
rel$JaeID1 <- gsub("^[Uu]", "", as.character(rel$JaeID1))<br />
rel$JaeID2 <- gsub("^[Uu]", "", as.character(rel$JaeID2))<br />
<br />
ymrel <- opbase.data("Op_fi4530.relaatiot")<br />
ymspan <- 1:nrow(ymrel)<br />
ymrel <- ymrel[rep(ymspan, 2), ]<br />
ymrel$Versio <- 2<br />
ymrel$Versio[ymspan] <- 1<br />
<br />
rel <- rbind(rel, ymrel)<br />
<br />
rel$RelaatioID[rel$Versio == 1] <- 1:nrow(rel[rel$Versio == 1,])<br />
rel$RelaatioID[rel$Versio == 2] <- 1:nrow(rel[rel$Versio == 2,])<br />
<br />
opbase.upload(<br />
rel[c("RelaatioID", "Aika", "Käyttäjä", "Sivu1", "JaeID1", "Sivu2", "JaeID2", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Relaatiot"<br />
)<br />
<br />
#out <- data.frame(<br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
<br />
out <- tryCatch(<br />
opbase.data(ident, subset = "relaationpoistot", exclude = list(Sivu = "Ympäristöministeriön tulevaisuuskatsaus")),<br />
error = function(...) return(NULL)<br />
)<br />
out <- tryCatch(<br />
ymout <- opbase.data("Op_fi4530.relaationpoistot"),<br />
error = function(...) return(NULL)<br />
)<br />
<br />
out <- rbind(out, ymout)<br />
<br />
if (!is.null(out)) {<br />
opbase.upload(<br />
out, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
who = wiki_username<br />
)<br />
}<br />
<br />
<br />
#out <- data.frame(<br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
<br />
out <- tryCatch(<br />
opbase.data(ident, subset = "Avainsananpoistot", exclude = list(Sivu = "Ympäristöministeriön tulevaisuuskatsaus")),<br />
error = function(...) return(NULL)<br />
)<br />
out <- tryCatch(<br />
ymout <- opbase.data("Op_fi4530.Avainsananpoistot"),<br />
error = function(...) return(NULL)<br />
)<br />
<br />
out <- rbind(out, ymout)<br />
<br />
if (!is.null(out)) {<br />
opbase.upload(<br />
out, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
who = wiki_username<br />
)<br />
}<br />
<br />
<br />
<br />
#opbase.upload(<br />
# out, <br />
# name = pagename, <br />
# subset = "Avainsananpoistot", <br />
# who = wiki_username<br />
#)<br />
</rcode><br />
=== Versiot ===<br />
<t2b name="Versiot" index="Versio,Sivu,Ident" unit="OldID"><br />
1|Liikenne ja viestintä palveluna|Op_fi4248|<br />
1|Liikenteen palvelumarkkinat|Op_fi4253|<br />
1|Liikenteen energiareformi|Op_fi4254|<br />
1|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
1|Monipuoliset sisällöt|Op_fi4256|<br />
1|Oma Painotus Teema I|Op_fi4257|<br />
1|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
1|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
1|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
1|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
1|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
1|Oma Painotus Teema II|Op_fi4262|<br />
1|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
1|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
1|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
1|Arktinen strategia|Op_fi4265|<br />
1|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
1|Oma Painotus Teema III|Op_fi4267|<br />
2|Liikenne ja viestintä palveluna|Op_fi4248|<br />
2|Liikenteen palvelumarkkinat|Op_fi4253|<br />
2|Liikenteen energiareformi|Op_fi4254|<br />
2|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
2|Monipuoliset sisällöt|Op_fi4256|<br />
2|Oma Painotus Teema I|Op_fi4257|<br />
2|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
2|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
2|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
2|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
2|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
2|Oma Painotus Teema II|Op_fi4262|<br />
2|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
2|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
2|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
2|Arktinen strategia|Op_fi4265|<br />
2|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
2|Oma Painotus Teema III|Op_fi4267|<br />
</t2b><br />
<br />
===Jakeet===<br />
'''Kaikkien kenttien arvot saa erotella pilkuilla tässä haussa'''<br />
<rcode label="Näytä jakeet" name="jakeet" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Jakeita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
<rcode label="Poista jae" name="jakeenpoisto" embed=1 variables="<br />
name:sivu|description:Poistettavan jakeen sivu|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Poistettavan jakeen ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Tekninen jae';Tekninen jae;<br />
'Jae ei liity sivun aiheeseen';Jae ei liity sivun aiheeseen;<br />
'Jae on häiriköintiä';Jae on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jaeid <- strsplit(jaeid, ",", fixed = TRUE)[[1]]<br />
jaeid <- gsub(" ", "", jaeid)<br />
<br />
if (sum(nchar(jaeid)) == 0) stop("Anna jakeen ID")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame(<br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = as.character(jaeid)<br />
)<br />
<br />
opbase.upload(<br />
out, <br />
who = wiki_username, <br />
name = pagename,<br />
subset = "Jakeenpoistot",<br />
act_type = "append", <br />
language = "fin"<br />
)<br />
</rcode><br />
<br />
<rcode label="Lisää jae" name="jakeenlisays" embed=1 variables="<br />
name:sivu|description:Sivu jolle jae lisätään|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:sisalto|description:Jakeen sisältö|type:textbox|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame( <br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
JaeID = NA,<br />
Result = sisalto<br />
)<br />
<br />
ident.subset <- paste(ident, "Jakeenlisaykset", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
filter$Sivu <- sivu<br />
<br />
upload_with_autoid(<br />
out,<br />
ident.subset,<br />
id_name = "JaeID",<br />
pagename = pagename,<br />
prefix = "L",<br />
filter = filter<br />
)<br />
</rcode><br />
<br />
=== Avainsanat ===<br />
<rcode label="Näytä avainsanat" name="avainsanat_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka avainsanoja haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
out <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<rcode label="Lisää avainsana" name="avainsanat" embed=1 variables="<br />
name:sivu|description:Minkä sivun jakeelle haluat lisätä avainsanoja?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Mikä on jakeen versio?|type:text|default:nykyinen|<br />
name:jae|description:Mikä on jakeen ID?|type:text|<br />
name:yl_avainsanat|description:Valitse alla olevasta listasta yleisiä avainsanoja.|type:checkbox|options:<br />
'Päätös';A Päätös (jae sisältää päätös- tai toimintaehdotuksen);<br />
'Vaikutus';B Vaikutus (jae kuvaa ilmiötä tai vaikutusta);<br />
'Arvo';C Arvo (jakeessa on arvoarvostelma tai kuvaa asian merkitystä);<br />
'Työn tekemiseen liittyvä';D Katsaustyön tekemiseen liittyvä;<br />
'Epäselvä luokka';E Ei mikään edellisistä (valitse ainakin yksi A-E)|<br />
name:avainsanat|description:Laita halutessasi yllä listaamattomattomia avainsanoja tähän pilkulla eroteltuna.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
avainsanat <- strsplit(avainsanat, ",", fixed = TRUE)[[1]]<br />
avainsanat <- gsub(" ", "", avainsanat)<br />
avainsanat <- avainsanat[nchar(avainsanat) > 0]<br />
avainsanat <- c(yl_avainsanat, avainsanat)<br />
if (length(avainsanat) == 0) stop("Yhtään avainsanaa ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
AvainsanaID = NA, <br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Sivu = sivu,<br />
JaeID = as.character(jae), <br />
Result = avainsanat<br />
)<br />
<br />
ident.subset <- paste(ident, "Avainsanat", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "AvainsanaID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Avainsanojen lisääminen onnistui.\n")<br />
</rcode><br />
<br />
<rcode name="avainsananpoisto" embed=1 label="Poista avainsana" showcode=0 variables="<br />
name:avid|description:Poistettavan avainsanan ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Avainsana ei päde uudessa versiossa';Avainsana ei päde uudessa versiossa;<br />
'Virheellinen avainsana';Virheellinen avainsana|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
avid <- strsplit(avid, ",", fixed = TRUE)[[1]]<br />
avid <- gsub(" ", "", avid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = avid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Avainsana poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Relaatiot ===<br />
<rcode label="Näytä relaatiot" name="relaatiot_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka relaatioita haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
out <- rbind(rel1, rel2)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(<br />
out, <br />
include.rownames = FALSE,<br />
caption = "Relaatiot", <br />
caption.placement = "top"<br />
)<br />
} else {<br />
cat("Relaatioita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
<rcode label="Lisää relaatio" name="relaatio" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:nykyinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID?|type:text|<br />
name:relaatio|description:'''Kuinka lähtöjae liittyy kohdejakeeseen?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'tukee tai on linjassa';tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';on neutraali suhteessa;<br />
'on uusi linjaus tai painotus';on uusi linjaus tai painotus;<br />
'kuuluu ryhmään/kokoelmaan';kuuluu ryhmään/kokoelmaan|<br />
name:lisarelaatio|description:VAPAAEHTOINEN Voit antaa oman jakeiden välisen relaation vapaakenttään.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
relaatio <- ifelse(lisarelaatio == '', relaatio, lisarelaatio)<br />
if (nchar(gsub(" ", "", relaatio)) == 0) stop("Relaatiota ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = relaatio<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Relaation lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
<rcode label="Lisää sisällytys" name="sisallytys" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:edellinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID (uudemmassa versiossa)?|type:text|<br />
name:sisallytys|description:'''Sisällytettiinkö ehdotus uudempaan versioon?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun;<br />
'ehdotus ei ole antanut aihetta muutoksiin';ehdotus ei ole antanut aihetta muutoksiin|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
if (nchar(gsub(" ", "", sisallytys)) == 0) stop("Sisällytyksen tyyppiä ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "edellinen") {<br />
version <- get_current_version(ident) - 1<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = sisallytys<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Sisällytyksen lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
<rcode name="relaationpoisto" embed=1 label="Poista relaatio" showcode=0 variables="<br />
name:relid|description:Poistettavan relaation ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Relaatio ei päde uudessa versiossa';Relaatio ei päde uudessa versiossa;<br />
'Virheellinen relaatio';Virheellinen relaatio|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
relid <- strsplit(relid, ",", fixed = TRUE)[[1]]<br />
relid <- gsub(" ", "", relid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = relid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Relaatio poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Kehittyneemmät hakukoneet ===<br />
'''Hae jakeita ja niihin liittyviä avainsanoja'''<br />
<rcode label="Hae" name="avainsanat_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) == 0) {<br />
stop("Jakeita ei löytynyt!")<br />
}<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
} else {<br />
colnames(tags)[colnames(tags) == "Result"] <- "Avainsana"<br />
out <- join(<br />
tags[c("Versio", "Sivu", "JaeID", "AvainsanaID", "Avainsana")],<br />
out[c("Versio", "Sivu", "JaeID", "Result")]<br />
)<br />
# Jos annettiin vain yksi versio ja/tai sivu niin niitä ei tarvitse printata<br />
filter_ind <- NULL<br />
if (length(version) != 1) filter_ind <- c(filter_ind, "Versio")<br />
if (length(sivu) != 1) filter_ind <- c(filter_ind, "Sivu")<br />
filter_ind <- c(filter_ind, "JaeID")<br />
oprint(out[c(filter_ind, "Result", "AvainsanaID", "Avainsana")], include.rownames = FALSE, show_all = TRUE)<br />
}<br />
</rcode><br />
<br />
'''Hae relaatioita ja niihin kuuluvia jakeita'''<br />
<rcode label="Hae" name="relaatiot_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta relaatioita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:liitsis|description:Liittymistyyppi (tyhjä = kaikki)|type:checkbox|options:<br />
'tukee tai on linjassa';Tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';Vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';On neutraali suhteessa;<br />
'on uusi linjaus tai painotus';On uusi linjaus tai painotus;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';Ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';Ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin';Ehdotus ei ole antanut aihetta muutoksiin;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';Ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
# Eri sisältymistyypit pitää määritellä niin että ne voidaan käsitellä erillään muista relaatioista<br />
sis_opt <- c(<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu',<br />
'ehdotus huomioitu ja uusi kohta lisätty',<br />
'ehdotus ei ole antanut aihetta muutoksiin', <br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun'<br />
)<br />
#liit_opt <- c(<br />
# 'tukee tai on linjassa',<br />
# 'vastustaa tai on ristiriidassa',<br />
# 'on neutraali suhteessa',<br />
# 'on uusi linjaus tai painotus'<br />
#)<br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (!is.null(liitsis)) rel <- rel[rel$Result %in% liitsis, ]<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = unique(c(<br />
as.character(rel$Sivu1), <br />
as.character(rel$Sivu2)<br />
)), <br />
versio = version, <br />
jae = unique(c(<br />
as.character(rel$JaeID1), <br />
as.character(rel$JaeID2)<br />
))<br />
)<br />
if (nrow(jakeet) == 0) stop("Relaatioissa listattuja jakeita ei löytynyt!")<br />
<br />
# Relaatiot<br />
if (nrow(rel[!(rel$Relaatio %in% sis_opt),]) > 0) {<br />
jakeet <- jakeet[c("Versio", "Sivu", "JaeID", "Result")]<br />
colnames(jakeet)[colnames(jakeet) == "JaeID"] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu"] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Jae1"<br />
rel <- rel[c("RelaatioID", "Versio", "Sivu1", "JaeID1", "Result", "Sivu2", "JaeID2")]<br />
colnames(rel)[colnames(rel) == "Result"] <- "Relaatio"<br />
out <- join(<br />
rel[(!(rel$Relaatio %in% sis_opt)) & rel$Versio %in% original_version,], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei relaatioita!\n")<br />
}<br />
<br />
# Sisällytykset<br />
if (nrow(rel[(rel$Relaatio %in% sis_opt),]) > 0) {<br />
colnames(jakeet)[colnames(jakeet) %in% c("JaeID","JaeID2")] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Sivu", "Sivu2")] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Result", "Jae2")] <- "Jae1"<br />
colnames(rel)[colnames(rel) == "Relaatio"] <- "Sisällytys"<br />
out <- join(<br />
rel[rel$Sisällytys %in% sis_opt & rel$Versio %in% version[-length(version)],], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
jakeet$Versio <- as.numeric(as.character(jakeet$Versio)) - 1<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Sisällytys", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Sisällytys (uudempaan versioon)", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei sisällytyksiä!\n")<br />
}<br />
}<br />
</rcode><br />
<br />
===Analyysi===<br />
'''Tässä voit hakea jakeita ja analysoida niiden määriä hakemalla yhdellä tai useammalla avainsanalla. '''<br />
<br />
Käytetyt avainsanat:<br />
{{piilotettu|<br />
3D-tulostus Aikataulut Ajoneuvokanta Alueellisuus <br />
alustus Ammattiryhmät Arvo Asutus <br />
Aurinko Automatisaatio Avoimuus Big Data <br />
Biopolttoaine Dataliikenne Digitalisoituminen Eettisyys <br />
eIDAS Elintaso Energia Epäselvä luokka <br />
Eriarvoisuus Erityisryhmät Esineiden internet Globaalius <br />
Globaaluis Henkilökortti Henkilötiedot Huutokauppa <br />
Hybridi Hybridi-TV Hyvinvointi Hyvinvointiyhteiskunta <br />
Häiriöt Ilmasto Infrastruktuuri Innovatiivisus <br />
Innovatiivisuus Internet Investoinnit Joukkoliikenne <br />
Joustavuus Julkinen valta Kaivosteollisuus Kansainvälisyys <br />
Kasvihuonekaasut Kaupallisuus Kaupungit Kehitys <br />
Kestävyys Kevyen liikenteen väylät Kevytliikenne Kiinteistöt <br />
Kilpailu Kilpailukyky Konesalit Konkreettisuus <br />
Kotimaisuus Koulutus Kunnat Kustannustehokkuus <br />
Kuuluvuus Kävely Laajakaista Lainsäädäntö <br />
Laiton tarjonta Langattomuus Lappi Lentoliikenne <br />
Liikenne Liikenneverkostot Liikkumistili Linja-autot <br />
Logistiikka Luonnonsuojelu Lämmitys Maakaasu <br />
Maatalous Mainonta Markkinat Massavalvonta <br />
Meriliikenne Metadata Mobiiliverkko Mopot <br />
Nopeus Ohjaus Ohjelmistot Ohjelmistotoimittaja <br />
Oikeusturva Omavaraisuus Operaattori Osaaminen <br />
Ostovoima Palaute Palvelut Palvelutaso <br />
Peruskunto Pilvipalvelut Polttoaine Posti <br />
Puelueettomuus Pysäköinti Pyöräily Päivitys <br />
Pääkaupunkiseutu Päästöt Päätöksenteko Päätös <br />
Raha Rahoitus Rahtliikenne Rajapinnat <br />
Rakennemuutos Rakentaminen Raskas liikenne Rautatiet <br />
Riippuvuus Rikokset Robotisaatio Ruuhkamaksu <br />
Ruuhkautuminen Saatavuus Sateliittipaikannus Sovellukset <br />
Strategia Suunnittelu Sähkö Sähköauto <br />
Sääntely Säästöt Talous Talouskasvu <br />
Tarpeet Tasa-arvo Tasapuolisuus Tasavertaisuus <br />
Tavaraliikenne Tehokkuus Tekijänoikeus Tekniikkaneutraalius <br />
Tekninen tuki Teknologia Teknologianeutraalius Teollisuus <br />
Terveydenhuolto Terveys testi Tiedon avoimuus <br />
Tiedon hallinnointi Tiedon hallinta Tiedon hyödyntäminen Tieliikenne <br />
Tietoliikenne Tietoturva Toimilupa Toiminta <br />
Toimintavarmuus Toimivuus Tuki Turvallisuus <br />
Turvaverkko Tutkimus Tuuli TV <br />
Työllisyys Työn tekemiseen liittyvä Ulkomaat Uudistus <br />
Vaihtoehtoiset polttoaineet Vaikuttaminen Vaikutus Vakuutus <br />
Valinnanvapaus Valtio Varmenne Varmuus <br />
Vastuu Verkostoituminen Verotus Vesiliikenne <br />
Vesiliikenne, Tasavertaisuus Viestintäverkot Viranomaiset Yhteensopivuus <br />
Yhteiskunta Yhteiskuntamurros Yhteistyö Yhteysnopeus <br />
Yksityisautoilu Yksityisyydensuoja YLE Yleispalvelu <br />
Yleisradio Ympäristö Yritykset Öljy <br />
}}<br />
<br />
<rcode label="Näytä jakeita/tilastoja" name="jae_stats" embed=1 graphics=1 variables="<br />
name:sivu|description:Minkä sivun jakeita haluat tarkastella?|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:avainsanat|description:Hae jakeita joilla on ainakin yksi seuraavista avainsanoista|type:text|<br />
name:avainsanat_all|description:Hae jakeita joilla on kaikki seuraavat avainsanat|type:text|<br />
name:jaelista|description:Haluatko nähdä kaikki löydetyt jakeet?|type:selection|options:FALSE;En;TRUE;Kyllä|default:FALSE|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
library(ggplot2)<br />
<br />
filter <- list()<br />
if (nchar(gsub(" ", "", avainsanat)) > 0) {<br />
avainsanat <- strsplit(avainsanat, ",")[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat) <br />
} else {<br />
avainsanat <- NULL<br />
}<br />
if (nchar(gsub(" ", "", avainsanat_all)) > 0) {<br />
avainsanat_all <- strsplit(avainsanat_all, ",")[[1]]<br />
avainsanat_all <- gsub("^\\s*|\\s*$", "", avainsanat_all)<br />
#filter$Avainsana <- avainsanat_all<br />
} else {<br />
avainsanat_all <- NULL<br />
}<br />
filter$Sivu <- sivu<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
filter$Versio <- version<br />
<br />
if (length(filter) == 0) filter <- NULL<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
jaeid <- NULL<br />
<br />
if (!is.null(avainsanat)|!is.null(avainsanat_all)) {<br />
tags <- tags[tags$Result %in% c(avainsanat, avainsanat_all), ]<br />
jaeid <- unique(as.character(tags$JaeID))<br />
}<br />
<br />
if(!is.null(avainsanat_all)) {<br />
temp <- list()<br />
for (i in 1:nrow(jaeid)) {<br />
temp[[i]] <- avainsanat_all %in% tags$Result[tags$JaeID == jaeid[i]]<br />
}<br />
temp <- lapply(temp, all)<br />
jaeid <- jaeid[temp]<br />
tags <- tags[tags$JaeID %in% jaeid,]<br />
}<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt.\n")<br />
}<br />
<br />
if (is.null(filter)) {<br />
filter2 <- list()<br />
} else {<br />
filter2 <- filter<br />
}<br />
<br />
filter2$JaeID <- jaeid<br />
<br />
if (length(filter2) == 0) filter2 <- NULL<br />
<br />
if (jaelista) {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = filter2$Sivu, # *list$non-existent returns NULL<br />
versio = filter2$Versio, <br />
jae = filter2$JaeID<br />
)<br />
if (nrow(jakeet) == 0) {<br />
cat("Avainsanoissa listattuja jakeita ei löytynyt.\n")<br />
} else {<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Sisältö"<br />
tagged <- NULL<br />
if (nrow(tags) > 0) {<br />
#tagged <- join(<br />
# jakeet[c("Versio", "Sivu", "Aihe", "JaeID")], <br />
# tags[c("Versio", "Sivu", "JaeID", "Result")]<br />
#)<br />
#colnames(tagged)[colnames(tagged) == "Result"] <- "Avainsana"<br />
tagged <- tapply(tags$Result, tags[c("Versio", "Sivu", "JaeID")], paste, collapse = ", ")<br />
tagged <- as.data.frame(as.table(tagged))<br />
colnames(tagged)[colnames(tagged) == "Freq"] <- "Avainsanat"<br />
tagged <- join(<br />
jakeet[c("Versio", "Sivu", "JaeID", "Sisältö")], <br />
tagged[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
type = "inner",<br />
match = "first"<br />
)<br />
oprint(<br />
tagged[c("Versio", "Sivu", "JaeID", "Sisältö", "Avainsanat")],<br />
caption = "Jakeet", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = rep(0, 6)<br />
)<br />
}<br />
}<br />
}<br />
<br />
if (nrow(tags) > 0) {<br />
tags_out <- ddply(tags, "Result", nrow)<br />
colnames(tags_out) <- c("Avainsana", "Lukumäärä")<br />
tags_out <- tags_out[order(tags_out$Lukumäärä, decreasing = TRUE),]<br />
oprint(<br />
tags_out,<br />
caption = "Avainsanojen lukumäärät", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = c(0, 0, 0)<br />
)<br />
ggplot(tags_out, aes(x = Avainsana, y = Lukumäärä, fill = Avainsana)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Avainsanojen frekvenssit")<br />
}<br />
<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter3 <- list()<br />
filter3$Sivu1 <- sivu<br />
filter3$Versio <- version<br />
filter3$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter3$JaeID1 <- NULL<br />
filter3$Sivu1 <- NULL<br />
filter3$JaeID2 <- jaeid<br />
filter3$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
related <- rel[<br />
rel$Result %in% c(<br />
"on neutraali suhteessa", <br />
"on uusi linjaus tai painotus", <br />
"tukee tai on linjassa", <br />
"vastustaa tai on ristiriidassa"<br />
), ]<br />
related$Result <- as.character(related$Result)<br />
affected <- rel[<br />
rel$Result %in% c(<br />
"ehdotus ei ole antanut aihetta muutoksiin",<br />
"ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun", <br />
"ehdotus huomioitu ja liittyvää painotusta muutettu",<br />
"ehdotus huomioitu ja uusi kohta lisätty"<br />
), ]<br />
affected$Result <- as.character(affected$Result)<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin"] <- "Ei aihetta muutoksiin"<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun"] <- "Sisältyy valmiiksi"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja liittyvää painotusta muutettu"] <- "Huomioitu painotuksella"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja uusi kohta lisätty"] <- "Huomioitu lisäyksellä"<br />
<br />
related_out <- ddply(related, "Result", nrow)<br />
colnames(related_out) <- c("Relaatio", "Lukumäärä")<br />
<br />
affected_out <- ddply(affected, "Result", nrow)<br />
colnames(affected_out) <- c("Sisällytys", "Lukumäärä")<br />
}<br />
<br />
if (nrow(related_out > 0)) {<br />
ggplot(related_out, aes(x = Relaatio, y = Lukumäärä, fill = Relaatio)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Relaatioiden frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
<br />
if (nrow(affected_out > 0)) {<br />
ggplot(affected_out, aes(x = Sisällytys, y = Lukumäärä, fill = Sisällytys)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Sisällytyksen frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
</rcode><br />
=== Sulautus ===<br />
{{tuloslinkki}}<br />
<rcode label="Etsi sulautuksia" name="sulautus" embed=0 variables="<br />
name:sivu|description:Sivut joihin sulautus tehdään (kaikista edellisen version jakeista)|type:checkbox|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:toleranssi|description:Toleranssi (Levenshtein distance)|default:5|<br />
name:tallenna|description:Tallenna kantaan|type:selection|options:TRUE;Kyllä;FALSE;Ei|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
mdat <- get_meta_data(ident)<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
version <- c(version - 1, version)<br />
<br />
jakeet <- jaehakukone(ident, versio = version)<br />
<br />
ver1 <- jakeet[jakeet$Versio == version[1],]<br />
ver2 <- jakeet[jakeet$Versio == version[2] & jakeet$Sivu == sivu,]<br />
<br />
# adist too slow<br />
d <- adist(<br />
ver1$Result, <br />
ver2$Result,<br />
fixed = FALSE<br />
)<br />
d[is.na(d)] <- Inf<br />
#d_min <- apply(d, 1, min)<br />
#d_tol <- d <= toleranssi<br />
#d_out <- apply(d, 1, which.min)<br />
<br />
colnames(ver1)[colnames(ver1) == "Versio"] <- "Versio1"<br />
colnames(ver1)[colnames(ver1) == "Sivu"] <- "Sivu1"<br />
colnames(ver1)[colnames(ver1) == "JaeID"] <- "JaeID1"<br />
colnames(ver1)[colnames(ver1) == "Result"] <- "Result1"<br />
<br />
colnames(ver2)[colnames(ver2) == "Versio"] <- "Versio2"<br />
colnames(ver2)[colnames(ver2) == "Sivu"] <- "Sivu2"<br />
colnames(ver2)[colnames(ver2) == "JaeID"] <- "JaeID2"<br />
colnames(ver2)[colnames(ver2) == "Result"] <- "Result2"<br />
<br />
#out <- cbind(ver1[d_min <= toleranssi, ], ver2[d_out[d_min <= toleranssi], ])<br />
<br />
d <- alply(d, 1, I)<br />
d_tol <- llply(d, function(x) {x <= toleranssi})<br />
d_reps <- laply(d_tol, sum)<br />
d_w <- llply(d_tol, which)<br />
d_w <- unlist(d_w)<br />
<br />
out <- cbind(ver1[rep(1:nrow(ver1), d_reps),], ver2[d_w, ])<br />
<br />
#d <- NULL<br />
#n <- NULL<br />
#for (i in 1:nrow(ver1)) {<br />
# for (j in split(ver2$Result, ceiling((1:nrow(ver2)) / 100))) {<br />
# temp <- agrep(ver1$Result[i], j, toleranssi)<br />
# d <- append(d, temp)<br />
# n <- append(n, length(temp))<br />
# }<br />
#}<br />
<br />
#out <- cbind(<br />
# ver1[rep(1:nrow(ver1), n),],<br />
# ver2[d,]<br />
#)<br />
if (tallenna) {<br />
opbase.upload(<br />
out,<br />
name = pagename,<br />
who = wiki_username,<br />
subset = "Sulautukset"<br />
)<br />
} else { <br />
oprint(<br />
out, <br />
include.rownames = FALSE, <br />
digits = rep(0, ncol(out) + 1), <br />
caption("Sulautus uuteen versioon"), <br />
caption.placement = "top",<br />
show.all = TRUE<br />
)<br />
}<br />
</rcode></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Liikenne_ja_viestint%C3%A4_digitaalisessa_Suomessa_2020/Sis%C3%A4ll%C3%B6nanalyysi&diff=25111
Liikenne ja viestintä digitaalisessa Suomessa 2020/Sisällönanalyysi
2014-07-28T10:28:09Z
<p>Teemu R: /* Tägikone */</p>
<hr />
<div>{{LVM}}<br />
<br />
'''Tällä sivulla voit tarkastella liikenneministeriön tulevaisuuskatsauksen sisältöä ja kansalaisten antamien kommenttien suhdetta siihen. <br />
Alla olevilla työkaluilla voit hakea tekstin jakeita eli erillisiä tekstikappaleita ja niihin liittyviä avainsanoja tai muita jakeita. Relaatiot tarkoittavat kuvailua siitä, millä tavalla kaksi jaetta liittyy toisiinsa.<br />
<br />
== Tägikone ==<br />
{{tuloslinkki}}<br />
<rcode label="Päivitä tietokantarakenne" variables="<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jakeet <- opbase.data(paste("Op_fi4362", "Jakeet", sep = "."), 12748)<br />
jakeet$Versio <- 1<br />
temp <- jakeet[grep("^U", jakeet$JaeID),]<br />
temp <- jakeet[!(jakeet$Sivu %in% unique(as.character(temp$Sivu))),]<br />
temp$Versio <- 2<br />
jakeet$Versio[grep("^U", jakeet$JaeID)] <- 2<br />
jakeet$JaeID <- gsub("[A-Za-z]", "", as.character(jakeet$JaeID))<br />
jakeet <- rbind(jakeet, temp)<br />
jakeet$Aihe <- NA<br />
<br />
opbase.upload(<br />
jakeet[c("Versio", "Sivu", "Aihe", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeet"<br />
)<br />
<br />
jaepois <- opbase.data(paste("Op_fi4362", "Jakeenpoistot", sep = "."))<br />
#jaepois <- data.frame(<br />
# Versio = 0,<br />
# Sivu = NA, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
jaepois$Versio <- 1<br />
jaepois$Aika <- NA # date()<br />
jaepois$Käyttäjä <- NA # wiki_username<br />
jaepois$Versio[grep("^[Uu]", jaepois$Result)] <- 2<br />
temp <- jaepois[!(jaepois$Sivu %in% unique(jaepois$Sivu[jaepois$Versio == 2])), ]<br />
temp$Versio <- 2<br />
jaepois <- rbind(jaepois, temp)<br />
<br />
opbase.upload(<br />
jaepois[c("Versio", "Sivu", "Aika", "Käyttäjä", "Syy", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeenpoistot"<br />
)<br />
<br />
jaelisa <- opbase.data(paste("Op_fi4362", "jakeenlisays", sep = "."))<br />
#out <- data.frame( <br />
# Versio = 0,<br />
# Sivu = NA, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# JaeID = NA,<br />
# Result = "Alustus"<br />
#)<br />
jaelisa$Versio <- 1<br />
jaelisa$Aika <- NA # date()<br />
jaelisa$Käyttäjä <- NA # wiki_username<br />
temp <- jaelisa<br />
temp$Versio <- 2<br />
jaelisa <- rbind(jaelisa, temp)<br />
<br />
opbase.upload(<br />
jaelisa[c("Versio", "Sivu", "Aika", "Käyttäjä", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeenlisaykset"<br />
)<br />
<br />
avainsanat <- opbase.data(paste("Op_fi4362", "avainsanat", sep = "."))<br />
<br />
#out <- data.frame(<br />
# AvainsanaID = NA, <br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Sivu = NA,<br />
# JaeID = NA, <br />
# Result = "Alustus"<br />
#)<br />
avainsanat$AvainsanaID <- 1:nrow(avainsanat)<br />
avainsanat$Versio <- 1<br />
avainsanat$JaeID <- avainsanat$Jae<br />
avainsanat$Result <- avainsanat$Avainsana<br />
temp <- avainsanat<br />
temp$Versio <- 2<br />
avainsanat <- rbind(avainsanat, temp)<br />
<br />
opbase.upload(<br />
avainsanat[c("AvainsanaID", "Versio", "Aika", "Käyttäjä", "Sivu", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Avainsanat"<br />
)<br />
<br />
# Tuli LVM tägikoneen päivityksen kanssa tämmönen ongelma vastaan: Edellisen tägikoneen relaatioiden <br />
# syöttökoodin takia jakeet on usein relaatiossa sen jakeen kanssa johon ne on sisällytetty (vastustaa/puolustaa/jne), <br />
# mikä ei käy järkeen koska relaatiot pätevät pääasiassa saman version sisällä toisin kuin sisällytys mikä tapahtuu <br />
# seuraavaan versioon. Sisällytys on ihan eri asia kuin relaatio, se on vaan samanmuotoinen kuin relaatio ja siksi <br />
# samassa taulussa, tai ainakin tää on mun tämänhetkinen tulkinta.<br />
<br />
# Ongelma on siis tän LVM tägäyksen kanssa siinä että relaatio ja sisällytys piti antaa samanaikaisesti<br />
<br />
rel <- opbase.data(paste("Op_fi4362", "relaatiot", sep = "."))<br />
<br />
#out <- data.frame(<br />
# RelaatioID = NA,<br />
# Versio = 0, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username, <br />
# Sivu1 = NA,<br />
# JaeID1 = NA,<br />
# Sivu2 = NA,<br />
# JaeID2 = NA,<br />
# Result = "Alustus"<br />
#)<br />
#rel$RelaatioID <- 1:nrow(rel)<br />
rel$Versio <- 1<br />
rel$Sivu1 <- rel$Sivu<br />
rel$JaeID1 <- rel$Jae<br />
rel$Sivu2 <- rel$Liittymäsivu<br />
rel$JaeID2 <- rel$Liittymäjae<br />
<br />
rel1 <- rel<br />
rel1$Result <- rel$Liittyminen<br />
temp1 <- rel1[grep("^[Uu]", rel1$JaeID2),]<br />
temp1$Versio <- 2<br />
rel1 <- rel1[-grep("^[Uu]", rel1$JaeID2),]<br />
relt <- rel1<br />
relt$Versio <- 2<br />
rel1 <- rbind(rel1, relt)<br />
rel1 <- rbind(rel1, temp1)<br />
<br />
rel2 <- rel<br />
rel2$Result <- rel$Sisällytys<br />
temp2 <- rel2[grep("^[Uu]", rel2$JaeID2),]<br />
temp2$JaeID2 <- gsub("^[Uu]", "", as.character(temp2$JaeID2))<br />
#temp2$Versio <- 1<br />
rel2 <- rel2[-grep("^[Uu]", rel2$JaeID2),]<br />
rel2 <- rbind(rel2, temp2)<br />
<br />
#rel1$RelaatioID <- 1:nrow(rel1)<br />
#rel2$RelaatioID <- 1:nrow(rel2)<br />
<br />
rel <- rbind(rel1, rel2)<br />
rel$JaeID1 <- gsub("^[Uu]", "", as.character(rel$JaeID1))<br />
rel$JaeID2 <- gsub("^[Uu]", "", as.character(rel$JaeID2))<br />
<br />
rel$RelaatioID[rel$Versio == 1] <- 1:nrow(rel[rel$Versio == 1,])<br />
rel$RelaatioID[rel$Versio == 2] <- 1:nrow(rel[rel$Versio == 2,])<br />
<br />
opbase.upload(<br />
rel[c("RelaatioID", "Aika", "Käyttäjä", "Sivu1", "JaeID1", "Sivu2", "JaeID2", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Relaatiot"<br />
)<br />
<br />
#out <- data.frame(<br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
<br />
#opbase.upload(<br />
# out, <br />
# name = pagename, <br />
# subset = "Relaationpoistot", <br />
# who = wiki_username<br />
#)<br />
<br />
#out <- data.frame(<br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
<br />
#opbase.upload(<br />
# out, <br />
# name = pagename, <br />
# subset = "Avainsananpoistot", <br />
# who = wiki_username<br />
#)<br />
</rcode><br />
=== Versiot ===<br />
<t2b name="Versiot" index="Versio,Sivu,Ident" unit="OldID"><br />
1|Liikenne ja viestintä palveluna|Op_fi4248|<br />
1|Liikenteen palvelumarkkinat|Op_fi4253|<br />
1|Liikenteen energiareformi|Op_fi4254|<br />
1|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
1|Monipuoliset sisällöt|Op_fi4256|<br />
1|Oma Painotus Teema I|Op_fi4257|<br />
1|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
1|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
1|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
1|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
1|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
1|Oma Painotus Teema II|Op_fi4262|<br />
1|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
1|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
1|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
1|Arktinen strategia|Op_fi4265|<br />
1|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
1|Oma Painotus Teema III|Op_fi4267|<br />
2|Liikenne ja viestintä palveluna|Op_fi4248|<br />
2|Liikenteen palvelumarkkinat|Op_fi4253|<br />
2|Liikenteen energiareformi|Op_fi4254|<br />
2|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
2|Monipuoliset sisällöt|Op_fi4256|<br />
2|Oma Painotus Teema I|Op_fi4257|<br />
2|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
2|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
2|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
2|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
2|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
2|Oma Painotus Teema II|Op_fi4262|<br />
2|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
2|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
2|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
2|Arktinen strategia|Op_fi4265|<br />
2|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
2|Oma Painotus Teema III|Op_fi4267|<br />
</t2b><br />
<br />
===Jakeet===<br />
'''Kaikkien kenttien arvot saa erotella pilkuilla tässä haussa'''<br />
<rcode label="Näytä jakeet" name="jakeet" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Jakeita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
<rcode label="Poista jae" name="jakeenpoisto" embed=1 variables="<br />
name:sivu|description:Poistettavan jakeen sivu|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Poistettavan jakeen ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Tekninen jae';Tekninen jae;<br />
'Jae ei liity sivun aiheeseen';Jae ei liity sivun aiheeseen;<br />
'Jae on häiriköintiä';Jae on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jaeid <- strsplit(jaeid, ",", fixed = TRUE)[[1]]<br />
jaeid <- gsub(" ", "", jaeid)<br />
<br />
if (sum(nchar(jaeid)) == 0) stop("Anna jakeen ID")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame(<br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = as.character(jaeid)<br />
)<br />
<br />
opbase.upload(<br />
out, <br />
who = wiki_username, <br />
name = pagename,<br />
subset = "Jakeenpoistot",<br />
act_type = "append", <br />
language = "fin"<br />
)<br />
</rcode><br />
<br />
<rcode label="Lisää jae" name="jakeenlisays" embed=1 variables="<br />
name:sivu|description:Sivu jolle jae lisätään|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:sisalto|description:Jakeen sisältö|type:textbox|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame( <br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
JaeID = NA,<br />
Result = sisalto<br />
)<br />
<br />
ident.subset <- paste(ident, "Jakeenlisaykset", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
filter$Sivu <- sivu<br />
<br />
upload_with_autoid(<br />
out,<br />
ident.subset,<br />
id_name = "JaeID",<br />
pagename = pagename,<br />
prefix = "L",<br />
filter = filter<br />
)<br />
</rcode><br />
<br />
=== Avainsanat ===<br />
<rcode label="Näytä avainsanat" name="avainsanat_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka avainsanoja haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
out <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<rcode label="Lisää avainsana" name="avainsanat" embed=1 variables="<br />
name:sivu|description:Minkä sivun jakeelle haluat lisätä avainsanoja?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Mikä on jakeen versio?|type:text|default:nykyinen|<br />
name:jae|description:Mikä on jakeen ID?|type:text|<br />
name:yl_avainsanat|description:Valitse alla olevasta listasta yleisiä avainsanoja.|type:checkbox|options:<br />
'Päätös';A Päätös (jae sisältää päätös- tai toimintaehdotuksen);<br />
'Vaikutus';B Vaikutus (jae kuvaa ilmiötä tai vaikutusta);<br />
'Arvo';C Arvo (jakeessa on arvoarvostelma tai kuvaa asian merkitystä);<br />
'Työn tekemiseen liittyvä';D Katsaustyön tekemiseen liittyvä;<br />
'Epäselvä luokka';E Ei mikään edellisistä (valitse ainakin yksi A-E)|<br />
name:avainsanat|description:Laita halutessasi yllä listaamattomattomia avainsanoja tähän pilkulla eroteltuna.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
avainsanat <- strsplit(avainsanat, ",", fixed = TRUE)[[1]]<br />
avainsanat <- gsub(" ", "", avainsanat)<br />
avainsanat <- avainsanat[nchar(avainsanat) > 0]<br />
avainsanat <- c(yl_avainsanat, avainsanat)<br />
if (length(avainsanat) == 0) stop("Yhtään avainsanaa ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
AvainsanaID = NA, <br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Sivu = sivu,<br />
JaeID = as.character(jae), <br />
Result = avainsanat<br />
)<br />
<br />
ident.subset <- paste(ident, "Avainsanat", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "AvainsanaID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Avainsanojen lisääminen onnistui.\n")<br />
</rcode><br />
<br />
<rcode name="avainsananpoisto" embed=1 label="Poista avainsana" showcode=0 variables="<br />
name:avid|description:Poistettavan avainsanan ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Avainsana ei päde uudessa versiossa';Avainsana ei päde uudessa versiossa;<br />
'Virheellinen avainsana';Virheellinen avainsana|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
avid <- strsplit(avid, ",", fixed = TRUE)[[1]]<br />
avid <- gsub(" ", "", avid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = avid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Avainsana poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Relaatiot ===<br />
<rcode label="Näytä relaatiot" name="relaatiot_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka relaatioita haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
out <- rbind(rel1, rel2)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(<br />
out, <br />
include.rownames = FALSE,<br />
caption = "Relaatiot", <br />
caption.placement = "top"<br />
)<br />
} else {<br />
cat("Relaatioita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
<rcode label="Lisää relaatio" name="relaatio" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:nykyinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID?|type:text|<br />
name:relaatio|description:'''Kuinka lähtöjae liittyy kohdejakeeseen?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'tukee tai on linjassa';tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';on neutraali suhteessa;<br />
'on uusi linjaus tai painotus';on uusi linjaus tai painotus;<br />
'kuuluu ryhmään/kokoelmaan';kuuluu ryhmään/kokoelmaan|<br />
name:lisarelaatio|description:VAPAAEHTOINEN Voit antaa oman jakeiden välisen relaation vapaakenttään.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
relaatio <- ifelse(lisarelaatio == '', relaatio, lisarelaatio)<br />
if (nchar(gsub(" ", "", relaatio)) == 0) stop("Relaatiota ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = relaatio<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Relaation lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
<rcode label="Lisää sisällytys" name="sisallytys" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:edellinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid2|description:Mikä on kohdejakeen ID (uudemmassa versiossa)?|type:text|<br />
name:sisallytys|description:'''Sisällytettiinkö ehdotus uudempaan versioon?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun;<br />
'ehdotus ei ole antanut aihetta muutoksiin';ehdotus ei ole antanut aihetta muutoksiin|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
if (nchar(gsub(" ", "", sisallytys)) == 0) stop("Sisällytyksen tyyppiä ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "edellinen") {<br />
version <- get_current_version(ident) - 1<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = sisallytys<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Sisällytyksen lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
<rcode name="relaationpoisto" embed=1 label="Poista relaatio" showcode=0 variables="<br />
name:relid|description:Poistettavan relaation ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Relaatio ei päde uudessa versiossa';Relaatio ei päde uudessa versiossa;<br />
'Virheellinen relaatio';Virheellinen relaatio|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
relid <- strsplit(relid, ",", fixed = TRUE)[[1]]<br />
relid <- gsub(" ", "", relid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = relid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Relaatio poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Kehittyneemmät hakukoneet ===<br />
'''Hae jakeita ja niihin liittyviä avainsanoja'''<br />
<rcode label="Hae" name="avainsanat_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) == 0) {<br />
stop("Jakeita ei löytynyt!")<br />
}<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
} else {<br />
colnames(tags)[colnames(tags) == "Result"] <- "Avainsana"<br />
out <- join(<br />
tags[c("Versio", "Sivu", "JaeID", "AvainsanaID", "Avainsana")],<br />
out[c("Versio", "Sivu", "JaeID", "Result")]<br />
)<br />
# Jos annettiin vain yksi versio ja/tai sivu niin niitä ei tarvitse printata<br />
filter_ind <- NULL<br />
if (length(version) != 1) filter_ind <- c(filter_ind, "Versio")<br />
if (length(sivu) != 1) filter_ind <- c(filter_ind, "Sivu")<br />
filter_ind <- c(filter_ind, "JaeID")<br />
oprint(out[c(filter_ind, "Result", "AvainsanaID", "Avainsana")], include.rownames = FALSE, show_all = TRUE)<br />
}<br />
</rcode><br />
<br />
'''Hae relaatioita ja niihin kuuluvia jakeita'''<br />
<rcode label="Hae" name="relaatiot_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta relaatioita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:liitsis|description:Liittymistyyppi (tyhjä = kaikki)|type:checkbox|options:<br />
'tukee tai on linjassa';Tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';Vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';On neutraali suhteessa;<br />
'on uusi linjaus tai painotus';On uusi linjaus tai painotus;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';Ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';Ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin';Ehdotus ei ole antanut aihetta muutoksiin;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';Ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
# Eri sisältymistyypit pitää määritellä niin että ne voidaan käsitellä erillään muista relaatioista<br />
sis_opt <- c(<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu',<br />
'ehdotus huomioitu ja uusi kohta lisätty',<br />
'ehdotus ei ole antanut aihetta muutoksiin', <br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun'<br />
)<br />
#liit_opt <- c(<br />
# 'tukee tai on linjassa',<br />
# 'vastustaa tai on ristiriidassa',<br />
# 'on neutraali suhteessa',<br />
# 'on uusi linjaus tai painotus'<br />
#)<br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (!is.null(liitsis)) rel <- rel[rel$Result %in% liitsis, ]<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = unique(c(<br />
as.character(rel$Sivu1), <br />
as.character(rel$Sivu2)<br />
)), <br />
versio = version, <br />
jae = unique(c(<br />
as.character(rel$JaeID1), <br />
as.character(rel$JaeID2)<br />
))<br />
)<br />
if (nrow(jakeet) == 0) stop("Relaatioissa listattuja jakeita ei löytynyt!")<br />
<br />
# Relaatiot<br />
if (nrow(rel[!(rel$Relaatio %in% sis_opt),]) > 0) {<br />
jakeet <- jakeet[c("Versio", "Sivu", "JaeID", "Result")]<br />
colnames(jakeet)[colnames(jakeet) == "JaeID"] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu"] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Jae1"<br />
rel <- rel[c("RelaatioID", "Versio", "Sivu1", "JaeID1", "Result", "Sivu2", "JaeID2")]<br />
colnames(rel)[colnames(rel) == "Result"] <- "Relaatio"<br />
out <- join(<br />
rel[(!(rel$Relaatio %in% sis_opt)) & rel$Versio %in% original_version,], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei relaatioita!\n")<br />
}<br />
<br />
# Sisällytykset<br />
if (nrow(rel[(rel$Relaatio %in% sis_opt),]) > 0) {<br />
colnames(jakeet)[colnames(jakeet) %in% c("JaeID","JaeID2")] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Sivu", "Sivu2")] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Result", "Jae2")] <- "Jae1"<br />
colnames(rel)[colnames(rel) == "Relaatio"] <- "Sisällytys"<br />
out <- join(<br />
rel[rel$Sisällytys %in% sis_opt & rel$Versio %in% version[-length(version)],], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
jakeet$Versio <- as.numeric(as.character(jakeet$Versio)) - 1<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Sisällytys", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Sisällytys (uudempaan versioon)", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei sisällytyksiä!\n")<br />
}<br />
}<br />
</rcode><br />
<br />
===Analyysi===<br />
'''Tässä voit hakea jakeita ja analysoida niiden määriä hakemalla yhdellä tai useammalla avainsanalla. '''<br />
<br />
Käytetyt avainsanat:<br />
{{piilotettu|<br />
3D-tulostus Aikataulut Ajoneuvokanta Alueellisuus <br />
alustus Ammattiryhmät Arvo Asutus <br />
Aurinko Automatisaatio Avoimuus Big Data <br />
Biopolttoaine Dataliikenne Digitalisoituminen Eettisyys <br />
eIDAS Elintaso Energia Epäselvä luokka <br />
Eriarvoisuus Erityisryhmät Esineiden internet Globaalius <br />
Globaaluis Henkilökortti Henkilötiedot Huutokauppa <br />
Hybridi Hybridi-TV Hyvinvointi Hyvinvointiyhteiskunta <br />
Häiriöt Ilmasto Infrastruktuuri Innovatiivisus <br />
Innovatiivisuus Internet Investoinnit Joukkoliikenne <br />
Joustavuus Julkinen valta Kaivosteollisuus Kansainvälisyys <br />
Kasvihuonekaasut Kaupallisuus Kaupungit Kehitys <br />
Kestävyys Kevyen liikenteen väylät Kevytliikenne Kiinteistöt <br />
Kilpailu Kilpailukyky Konesalit Konkreettisuus <br />
Kotimaisuus Koulutus Kunnat Kustannustehokkuus <br />
Kuuluvuus Kävely Laajakaista Lainsäädäntö <br />
Laiton tarjonta Langattomuus Lappi Lentoliikenne <br />
Liikenne Liikenneverkostot Liikkumistili Linja-autot <br />
Logistiikka Luonnonsuojelu Lämmitys Maakaasu <br />
Maatalous Mainonta Markkinat Massavalvonta <br />
Meriliikenne Metadata Mobiiliverkko Mopot <br />
Nopeus Ohjaus Ohjelmistot Ohjelmistotoimittaja <br />
Oikeusturva Omavaraisuus Operaattori Osaaminen <br />
Ostovoima Palaute Palvelut Palvelutaso <br />
Peruskunto Pilvipalvelut Polttoaine Posti <br />
Puelueettomuus Pysäköinti Pyöräily Päivitys <br />
Pääkaupunkiseutu Päästöt Päätöksenteko Päätös <br />
Raha Rahoitus Rahtliikenne Rajapinnat <br />
Rakennemuutos Rakentaminen Raskas liikenne Rautatiet <br />
Riippuvuus Rikokset Robotisaatio Ruuhkamaksu <br />
Ruuhkautuminen Saatavuus Sateliittipaikannus Sovellukset <br />
Strategia Suunnittelu Sähkö Sähköauto <br />
Sääntely Säästöt Talous Talouskasvu <br />
Tarpeet Tasa-arvo Tasapuolisuus Tasavertaisuus <br />
Tavaraliikenne Tehokkuus Tekijänoikeus Tekniikkaneutraalius <br />
Tekninen tuki Teknologia Teknologianeutraalius Teollisuus <br />
Terveydenhuolto Terveys testi Tiedon avoimuus <br />
Tiedon hallinnointi Tiedon hallinta Tiedon hyödyntäminen Tieliikenne <br />
Tietoliikenne Tietoturva Toimilupa Toiminta <br />
Toimintavarmuus Toimivuus Tuki Turvallisuus <br />
Turvaverkko Tutkimus Tuuli TV <br />
Työllisyys Työn tekemiseen liittyvä Ulkomaat Uudistus <br />
Vaihtoehtoiset polttoaineet Vaikuttaminen Vaikutus Vakuutus <br />
Valinnanvapaus Valtio Varmenne Varmuus <br />
Vastuu Verkostoituminen Verotus Vesiliikenne <br />
Vesiliikenne, Tasavertaisuus Viestintäverkot Viranomaiset Yhteensopivuus <br />
Yhteiskunta Yhteiskuntamurros Yhteistyö Yhteysnopeus <br />
Yksityisautoilu Yksityisyydensuoja YLE Yleispalvelu <br />
Yleisradio Ympäristö Yritykset Öljy <br />
}}<br />
<br />
<rcode label="Näytä jakeita/tilastoja" name="jae_stats" embed=1 graphics=1 variables="<br />
name:sivu|description:Minkä sivun jakeita haluat tarkastella?|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:avainsanat|description:Hae jakeita joilla on ainakin yksi seuraavista avainsanoista|type:text|<br />
name:avainsanat_all|description:Hae jakeita joilla on kaikki seuraavat avainsanat|type:text|<br />
name:jaelista|description:Haluatko nähdä kaikki löydetyt jakeet?|type:selection|options:FALSE;En;TRUE;Kyllä|default:FALSE|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
library(ggplot2)<br />
<br />
filter <- list()<br />
if (nchar(gsub(" ", "", avainsanat)) > 0) {<br />
avainsanat <- strsplit(avainsanat, ",")[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat) <br />
} else {<br />
avainsanat <- NULL<br />
}<br />
if (nchar(gsub(" ", "", avainsanat_all)) > 0) {<br />
avainsanat_all <- strsplit(avainsanat_all, ",")[[1]]<br />
avainsanat_all <- gsub("^\\s*|\\s*$", "", avainsanat_all)<br />
#filter$Avainsana <- avainsanat_all<br />
} else {<br />
avainsanat_all <- NULL<br />
}<br />
filter$Sivu <- sivu<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
filter$Versio <- version<br />
<br />
if (length(filter) == 0) filter <- NULL<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
jaeid <- NULL<br />
<br />
if (!is.null(avainsanat)|!is.null(avainsanat_all)) {<br />
tags <- tags[tags$Result %in% c(avainsanat, avainsanat_all), ]<br />
jaeid <- unique(as.character(tags$JaeID))<br />
}<br />
<br />
if(!is.null(avainsanat_all)) {<br />
temp <- list()<br />
for (i in 1:nrow(jaeid)) {<br />
temp[[i]] <- avainsanat_all %in% tags$Result[tags$JaeID == jaeid[i]]<br />
}<br />
temp <- lapply(temp, all)<br />
jaeid <- jaeid[temp]<br />
tags <- tags[tags$JaeID %in% jaeid,]<br />
}<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt.\n")<br />
}<br />
<br />
if (is.null(filter)) {<br />
filter2 <- list()<br />
} else {<br />
filter2 <- filter<br />
}<br />
<br />
filter2$JaeID <- jaeid<br />
<br />
if (length(filter2) == 0) filter2 <- NULL<br />
<br />
if (jaelista) {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = filter2$Sivu, # *list$non-existent returns NULL<br />
versio = filter2$Versio, <br />
jae = filter2$JaeID<br />
)<br />
if (nrow(jakeet) == 0) {<br />
cat("Avainsanoissa listattuja jakeita ei löytynyt.\n")<br />
} else {<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Sisältö"<br />
tagged <- NULL<br />
if (nrow(tags) > 0) {<br />
#tagged <- join(<br />
# jakeet[c("Versio", "Sivu", "Aihe", "JaeID")], <br />
# tags[c("Versio", "Sivu", "JaeID", "Result")]<br />
#)<br />
#colnames(tagged)[colnames(tagged) == "Result"] <- "Avainsana"<br />
tagged <- tapply(tags$Result, tags[c("Versio", "Sivu", "JaeID")], paste, collapse = ", ")<br />
tagged <- as.data.frame(as.table(tagged))<br />
colnames(tagged)[colnames(tagged) == "Freq"] <- "Avainsanat"<br />
tagged <- join(<br />
jakeet[c("Versio", "Sivu", "JaeID", "Sisältö")], <br />
tagged[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
type = "inner",<br />
match = "first"<br />
)<br />
oprint(<br />
tagged[c("Versio", "Sivu", "JaeID", "Sisältö", "Avainsanat")],<br />
caption = "Jakeet", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = rep(0, 6)<br />
)<br />
}<br />
}<br />
}<br />
<br />
if (nrow(tags) > 0) {<br />
tags_out <- ddply(tags, "Result", nrow)<br />
colnames(tags_out) <- c("Avainsana", "Lukumäärä")<br />
tags_out <- tags_out[order(tags_out$Lukumäärä, decreasing = TRUE),]<br />
oprint(<br />
tags_out,<br />
caption = "Avainsanojen lukumäärät", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = c(0, 0, 0)<br />
)<br />
ggplot(tags_out, aes(x = Avainsana, y = Lukumäärä, fill = Avainsana)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Avainsanojen frekvenssit")<br />
}<br />
<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter3 <- list()<br />
filter3$Sivu1 <- sivu<br />
filter3$Versio <- version<br />
filter3$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter3$JaeID1 <- NULL<br />
filter3$Sivu1 <- NULL<br />
filter3$JaeID2 <- jaeid<br />
filter3$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
related <- rel[<br />
rel$Result %in% c(<br />
"on neutraali suhteessa", <br />
"on uusi linjaus tai painotus", <br />
"tukee tai on linjassa", <br />
"vastustaa tai on ristiriidassa"<br />
), ]<br />
related$Result <- as.character(related$Result)<br />
affected <- rel[<br />
rel$Result %in% c(<br />
"ehdotus ei ole antanut aihetta muutoksiin",<br />
"ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun", <br />
"ehdotus huomioitu ja liittyvää painotusta muutettu",<br />
"ehdotus huomioitu ja uusi kohta lisätty"<br />
), ]<br />
affected$Result <- as.character(affected$Result)<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin"] <- "Ei aihetta muutoksiin"<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun"] <- "Sisältyy valmiiksi"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja liittyvää painotusta muutettu"] <- "Huomioitu painotuksella"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja uusi kohta lisätty"] <- "Huomioitu lisäyksellä"<br />
<br />
related_out <- ddply(related, "Result", nrow)<br />
colnames(related_out) <- c("Relaatio", "Lukumäärä")<br />
<br />
affected_out <- ddply(affected, "Result", nrow)<br />
colnames(affected_out) <- c("Sisällytys", "Lukumäärä")<br />
}<br />
<br />
if (nrow(related_out > 0)) {<br />
ggplot(related_out, aes(x = Relaatio, y = Lukumäärä, fill = Relaatio)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Relaatioiden frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
<br />
if (nrow(affected_out > 0)) {<br />
ggplot(affected_out, aes(x = Sisällytys, y = Lukumäärä, fill = Sisällytys)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Sisällytyksen frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
</rcode><br />
=== Sulautus ===<br />
{{tuloslinkki}}<br />
<rcode label="Etsi sulautuksia" name="sulautus" embed=0 variables="<br />
name:sivu|description:Sivut joihin sulautus tehdään (kaikista edellisen version jakeista)|type:checkbox|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III;<br />
'Ympäristöministeriön tulevaisuuskatsaus';Ympäristöministeriön tulevaisuuskatsaus|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:toleranssi|description:Toleranssi (Levenshtein distance)|default:5|<br />
name:tallenna|description:Tallenna kantaan|type:selection|options:TRUE;Kyllä;FALSE;Ei|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
mdat <- get_meta_data(ident)<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
version <- c(version - 1, version)<br />
<br />
jakeet <- jaehakukone(ident, versio = version)<br />
<br />
ver1 <- jakeet[jakeet$Versio == version[1],]<br />
ver2 <- jakeet[jakeet$Versio == version[2] & jakeet$Sivu == sivu,]<br />
<br />
# adist too slow<br />
d <- adist(<br />
ver1$Result, <br />
ver2$Result,<br />
fixed = FALSE<br />
)<br />
d[is.na(d)] <- Inf<br />
#d_min <- apply(d, 1, min)<br />
#d_tol <- d <= toleranssi<br />
#d_out <- apply(d, 1, which.min)<br />
<br />
colnames(ver1)[colnames(ver1) == "Versio"] <- "Versio1"<br />
colnames(ver1)[colnames(ver1) == "Sivu"] <- "Sivu1"<br />
colnames(ver1)[colnames(ver1) == "JaeID"] <- "JaeID1"<br />
colnames(ver1)[colnames(ver1) == "Result"] <- "Result1"<br />
<br />
colnames(ver2)[colnames(ver2) == "Versio"] <- "Versio2"<br />
colnames(ver2)[colnames(ver2) == "Sivu"] <- "Sivu2"<br />
colnames(ver2)[colnames(ver2) == "JaeID"] <- "JaeID2"<br />
colnames(ver2)[colnames(ver2) == "Result"] <- "Result2"<br />
<br />
#out <- cbind(ver1[d_min <= toleranssi, ], ver2[d_out[d_min <= toleranssi], ])<br />
<br />
d <- alply(d, 1, I)<br />
d_tol <- llply(d, function(x) {x <= toleranssi})<br />
d_reps <- laply(d_tol, sum)<br />
d_w <- llply(d_tol, which)<br />
d_w <- unlist(d_w)<br />
<br />
out <- cbind(ver1[rep(1:nrow(ver1), d_reps),], ver2[d_w, ])<br />
<br />
#d <- NULL<br />
#n <- NULL<br />
#for (i in 1:nrow(ver1)) {<br />
# for (j in split(ver2$Result, ceiling((1:nrow(ver2)) / 100))) {<br />
# temp <- agrep(ver1$Result[i], j, toleranssi)<br />
# d <- append(d, temp)<br />
# n <- append(n, length(temp))<br />
# }<br />
#}<br />
<br />
#out <- cbind(<br />
# ver1[rep(1:nrow(ver1), n),],<br />
# ver2[d,]<br />
#)<br />
if (tallenna) {<br />
opbase.upload(<br />
out,<br />
name = pagename,<br />
who = wiki_username,<br />
subset = "Sulautukset"<br />
)<br />
} else { <br />
oprint(<br />
out, <br />
include.rownames = FALSE, <br />
digits = rep(0, ncol(out) + 1), <br />
caption("Sulautus uuteen versioon"), <br />
caption.placement = "top",<br />
show.all = TRUE<br />
)<br />
}<br />
</rcode></div>
Teemu R
http://fi.opasnet.org/fi-opwiki/index.php?title=Liikenne_ja_viestint%C3%A4_digitaalisessa_Suomessa_2020/Sis%C3%A4ll%C3%B6nanalyysi&diff=25110
Liikenne ja viestintä digitaalisessa Suomessa 2020/Sisällönanalyysi
2014-07-28T10:19:13Z
<p>Teemu R: vanha pois</p>
<hr />
<div>{{LVM}}<br />
<br />
'''Tällä sivulla voit tarkastella liikenneministeriön tulevaisuuskatsauksen sisältöä ja kansalaisten antamien kommenttien suhdetta siihen. <br />
Alla olevilla työkaluilla voit hakea tekstin jakeita eli erillisiä tekstikappaleita ja niihin liittyviä avainsanoja tai muita jakeita. Relaatiot tarkoittavat kuvailua siitä, millä tavalla kaksi jaetta liittyy toisiinsa.<br />
<br />
== Tägikone ==<br />
{{tuloslinkki}}<br />
<rcode label="Päivitä tietokantarakenne" variables="<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jakeet <- opbase.data(paste("Op_fi4362", "Jakeet", sep = "."), 12748)<br />
jakeet$Versio <- 1<br />
temp <- jakeet[grep("^U", jakeet$JaeID),]<br />
temp <- jakeet[!(jakeet$Sivu %in% unique(as.character(temp$Sivu))),]<br />
temp$Versio <- 2<br />
jakeet$Versio[grep("^U", jakeet$JaeID)] <- 2<br />
jakeet$JaeID <- gsub("[A-Za-z]", "", as.character(jakeet$JaeID))<br />
jakeet <- rbind(jakeet, temp)<br />
jakeet$Aihe <- NA<br />
<br />
opbase.upload(<br />
jakeet[c("Versio", "Sivu", "Aihe", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeet"<br />
)<br />
<br />
jaepois <- opbase.data(paste("Op_fi4362", "Jakeenpoistot", sep = "."))<br />
#jaepois <- data.frame(<br />
# Versio = 0,<br />
# Sivu = NA, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
jaepois$Versio <- 1<br />
jaepois$Aika <- NA # date()<br />
jaepois$Käyttäjä <- NA # wiki_username<br />
jaepois$Versio[grep("^[Uu]", jaepois$Result)] <- 2<br />
temp <- jaepois[!(jaepois$Sivu %in% unique(jaepois$Sivu[jaepois$Versio == 2])), ]<br />
temp$Versio <- 2<br />
jaepois <- rbind(jaepois, temp)<br />
<br />
opbase.upload(<br />
jaepois[c("Versio", "Sivu", "Aika", "Käyttäjä", "Syy", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeenpoistot"<br />
)<br />
<br />
jaelisa <- opbase.data(paste("Op_fi4362", "jakeenlisays", sep = "."))<br />
#out <- data.frame( <br />
# Versio = 0,<br />
# Sivu = NA, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# JaeID = NA,<br />
# Result = "Alustus"<br />
#)<br />
jaelisa$Versio <- 1<br />
jaelisa$Aika <- NA # date()<br />
jaelisa$Käyttäjä <- NA # wiki_username<br />
temp <- jaelisa<br />
temp$Versio <- 2<br />
jaelisa <- rbind(jaelisa, temp)<br />
<br />
opbase.upload(<br />
jaelisa[c("Versio", "Sivu", "Aika", "Käyttäjä", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Jakeenlisaykset"<br />
)<br />
<br />
avainsanat <- opbase.data(paste("Op_fi4362", "avainsanat", sep = "."))<br />
<br />
#out <- data.frame(<br />
# AvainsanaID = NA, <br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Sivu = NA,<br />
# JaeID = NA, <br />
# Result = "Alustus"<br />
#)<br />
avainsanat$AvainsanaID <- 1:nrow(avainsanat)<br />
avainsanat$Versio <- 1<br />
avainsanat$JaeID <- avainsanat$Jae<br />
avainsanat$Result <- avainsanat$Avainsana<br />
temp <- avainsanat<br />
temp$Versio <- 2<br />
avainsanat <- rbind(avainsanat, temp)<br />
<br />
opbase.upload(<br />
avainsanat[c("AvainsanaID", "Versio", "Aika", "Käyttäjä", "Sivu", "JaeID", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Avainsanat"<br />
)<br />
<br />
# Tuli LVM tägikoneen päivityksen kanssa tämmönen ongelma vastaan: Edellisen tägikoneen relaatioiden <br />
# syöttökoodin takia jakeet on usein relaatiossa sen jakeen kanssa johon ne on sisällytetty (vastustaa/puolustaa/jne), <br />
# mikä ei käy järkeen koska relaatiot pätevät pääasiassa saman version sisällä toisin kuin sisällytys mikä tapahtuu <br />
# seuraavaan versioon. Sisällytys on ihan eri asia kuin relaatio, se on vaan samanmuotoinen kuin relaatio ja siksi <br />
# samassa taulussa, tai ainakin tää on mun tämänhetkinen tulkinta.<br />
<br />
# Ongelma on siis tän LVM tägäyksen kanssa siinä että relaatio ja sisällytys piti antaa samanaikaisesti<br />
<br />
rel <- opbase.data(paste("Op_fi4362", "relaatiot", sep = "."))<br />
<br />
#out <- data.frame(<br />
# RelaatioID = NA,<br />
# Versio = 0, <br />
# Aika = date(), <br />
# Käyttäjä = wiki_username, <br />
# Sivu1 = NA,<br />
# JaeID1 = NA,<br />
# Sivu2 = NA,<br />
# JaeID2 = NA,<br />
# Result = "Alustus"<br />
#)<br />
#rel$RelaatioID <- 1:nrow(rel)<br />
rel$Versio <- 1<br />
rel$Sivu1 <- rel$Sivu<br />
rel$JaeID1 <- rel$Jae<br />
rel$Sivu2 <- rel$Liittymäsivu<br />
rel$JaeID2 <- rel$Liittymäjae<br />
<br />
rel1 <- rel<br />
rel1$Result <- rel$Liittyminen<br />
temp1 <- rel1[grep("^[Uu]", rel1$JaeID2),]<br />
temp1$Versio <- 2<br />
rel1 <- rel1[-grep("^[Uu]", rel1$JaeID2),]<br />
relt <- rel1<br />
relt$Versio <- 2<br />
rel1 <- rbind(rel1, relt)<br />
rel1 <- rbind(rel1, temp1)<br />
<br />
rel2 <- rel<br />
rel2$Result <- rel$Sisällytys<br />
temp2 <- rel2[grep("^[Uu]", rel2$JaeID2),]<br />
temp2$JaeID2 <- gsub("^[Uu]", "", as.character(temp2$JaeID2))<br />
#temp2$Versio <- 1<br />
rel2 <- rel2[-grep("^[Uu]", rel2$JaeID2),]<br />
rel2 <- rbind(rel2, temp2)<br />
<br />
#rel1$RelaatioID <- 1:nrow(rel1)<br />
#rel2$RelaatioID <- 1:nrow(rel2)<br />
<br />
rel <- rbind(rel1, rel2)<br />
rel$JaeID1 <- gsub("^[Uu]", "", as.character(rel$JaeID1))<br />
rel$JaeID2 <- gsub("^[Uu]", "", as.character(rel$JaeID2))<br />
<br />
rel$RelaatioID[rel$Versio == 1] <- 1:nrow(rel[rel$Versio == 1,])<br />
rel$RelaatioID[rel$Versio == 2] <- 1:nrow(rel[rel$Versio == 2,])<br />
<br />
opbase.upload(<br />
rel[c("RelaatioID", "Aika", "Käyttäjä", "Sivu1", "JaeID1", "Sivu2", "JaeID2", "Result")], <br />
name = pagename, <br />
who = wiki_username, <br />
subset = "Relaatiot"<br />
)<br />
<br />
#out <- data.frame(<br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
<br />
#opbase.upload(<br />
# out, <br />
# name = pagename, <br />
# subset = "Relaationpoistot", <br />
# who = wiki_username<br />
#)<br />
<br />
#out <- data.frame(<br />
# Versio = 0,<br />
# Aika = date(), <br />
# Käyttäjä = wiki_username,<br />
# Syy = "Alustus", <br />
# Result = NA<br />
#)<br />
<br />
#opbase.upload(<br />
# out, <br />
# name = pagename, <br />
# subset = "Avainsananpoistot", <br />
# who = wiki_username<br />
#)<br />
</rcode><br />
=== Versiot ===<br />
<t2b name="Versiot" index="Versio,Sivu,Ident" unit="OldID"><br />
1|Liikenne ja viestintä palveluna|Op_fi4248|<br />
1|Liikenteen palvelumarkkinat|Op_fi4253|<br />
1|Liikenteen energiareformi|Op_fi4254|<br />
1|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
1|Monipuoliset sisällöt|Op_fi4256|<br />
1|Oma Painotus Teema I|Op_fi4257|<br />
1|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
1|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
1|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
1|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
1|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
1|Oma Painotus Teema II|Op_fi4262|<br />
1|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
1|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
1|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
1|Arktinen strategia|Op_fi4265|<br />
1|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
1|Oma Painotus Teema III|Op_fi4267|<br />
2|Liikenne ja viestintä palveluna|Op_fi4248|<br />
2|Liikenteen palvelumarkkinat|Op_fi4253|<br />
2|Liikenteen energiareformi|Op_fi4254|<br />
2|Älykkäät käyttäjälähtöiset digitaaliset palvelut|Op_fi4255|<br />
2|Monipuoliset sisällöt|Op_fi4256|<br />
2|Oma Painotus Teema I|Op_fi4257|<br />
2|Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä|Op_fi4250|<br />
2|Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen|Op_fi4258|<br />
2|Luottamuksen palauttaminen internettiin|Op_fi4259|<br />
2|Datan liiketoiminta- ja käyttömahdollisuudet|Op_fi4260|<br />
2|Tieto ja digitalisaatio liikenteessä|Op_fi4261|<br />
2|Oma Painotus Teema II|Op_fi4262|<br />
2|Infrastruktuuri kasvun alustana|Op_fi4251|<br />
2|Toimintavarmuus ja turvallisuus|Op_fi4263|<br />
2|Liikenne- ja viestintäyhteydet|Op_fi4264|<br />
2|Arktinen strategia|Op_fi4265|<br />
2|Liikennejärjestelmän rahoitus ja taloudellinen ohjaus|Op_fi4266|<br />
2|Oma Painotus Teema III|Op_fi4267|<br />
</t2b><br />
<br />
===Jakeet===<br />
'''Kaikkien kenttien arvot saa erotella pilkuilla tässä haussa'''<br />
<rcode label="Näytä jakeet" name="jakeet" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Jakeita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
<rcode label="Poista jae" name="jakeenpoisto" embed=1 variables="<br />
name:sivu|description:Poistettavan jakeen sivu|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III|<br />
name:jaeid|description:Poistettavan jakeen ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Tekninen jae';Tekninen jae;<br />
'Jae ei liity sivun aiheeseen';Jae ei liity sivun aiheeseen;<br />
'Jae on häiriköintiä';Jae on häiriköintiä (käytä säästellen)|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
jaeid <- strsplit(jaeid, ",", fixed = TRUE)[[1]]<br />
jaeid <- gsub(" ", "", jaeid)<br />
<br />
if (sum(nchar(jaeid)) == 0) stop("Anna jakeen ID")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame(<br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = as.character(jaeid)<br />
)<br />
<br />
opbase.upload(<br />
out, <br />
who = wiki_username, <br />
name = pagename,<br />
subset = "Jakeenpoistot",<br />
act_type = "append", <br />
language = "fin"<br />
)<br />
</rcode><br />
<br />
<rcode label="Lisää jae" name="jakeenlisays" embed=1 variables="<br />
name:sivu|description:Sivu jolle jae lisätään|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:sisalto|description:Jakeen sisältö|type:textbox|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
out <- data.frame( <br />
Versio = version,<br />
Sivu = sivu, <br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
JaeID = NA,<br />
Result = sisalto<br />
)<br />
<br />
ident.subset <- paste(ident, "Jakeenlisaykset", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
filter$Sivu <- sivu<br />
<br />
upload_with_autoid(<br />
out,<br />
ident.subset,<br />
id_name = "JaeID",<br />
pagename = pagename,<br />
prefix = "L",<br />
filter = filter<br />
)<br />
</rcode><br />
<br />
=== Avainsanat ===<br />
<rcode label="Näytä avainsanat" name="avainsanat_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka avainsanoja haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
out <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(out, include.rownames = FALSE)<br />
} else {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<rcode label="Lisää avainsana" name="avainsanat" embed=1 variables="<br />
name:sivu|description:Minkä sivun jakeelle haluat lisätä avainsanoja?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III|<br />
name:version|description:Mikä on jakeen versio?|type:text|default:nykyinen|<br />
name:jae|description:Mikä on jakeen ID?|type:text|<br />
name:yl_avainsanat|description:Valitse alla olevasta listasta yleisiä avainsanoja.|type:checkbox|options:<br />
'Päätös';A Päätös (jae sisältää päätös- tai toimintaehdotuksen);<br />
'Vaikutus';B Vaikutus (jae kuvaa ilmiötä tai vaikutusta);<br />
'Arvo';C Arvo (jakeessa on arvoarvostelma tai kuvaa asian merkitystä);<br />
'Työn tekemiseen liittyvä';D Katsaustyön tekemiseen liittyvä;<br />
'Epäselvä luokka';E Ei mikään edellisistä (valitse ainakin yksi A-E)|<br />
name:avainsanat|description:Laita halutessasi yllä listaamattomattomia avainsanoja tähän pilkulla eroteltuna.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
avainsanat <- strsplit(avainsanat, ",", fixed = TRUE)[[1]]<br />
avainsanat <- gsub(" ", "", avainsanat)<br />
avainsanat <- avainsanat[nchar(avainsanat) > 0]<br />
avainsanat <- c(yl_avainsanat, avainsanat)<br />
if (length(avainsanat) == 0) stop("Yhtään avainsanaa ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
AvainsanaID = NA, <br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Sivu = sivu,<br />
JaeID = as.character(jae), <br />
Result = avainsanat<br />
)<br />
<br />
ident.subset <- paste(ident, "Avainsanat", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "AvainsanaID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Avainsanojen lisääminen onnistui.\n")<br />
</rcode><br />
<br />
<rcode name="avainsananpoisto" embed=1 label="Poista avainsana" showcode=0 variables="<br />
name:avid|description:Poistettavan avainsanan ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Avainsana ei päde uudessa versiossa';Avainsana ei päde uudessa versiossa;<br />
'Virheellinen avainsana';Virheellinen avainsana|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
avid <- strsplit(avid, ",", fixed = TRUE)[[1]]<br />
avid <- gsub(" ", "", avid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = avid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Avainsananpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Avainsana poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Relaatiot ===<br />
<rcode label="Näytä relaatiot" name="relaatiot_display" embed=1 variables="<br />
name:sivu|description:Sivu jonka relaatioita haetaan|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
out <- rbind(rel1, rel2)<br />
<br />
if (nrow(out) > 0) {<br />
oprint(<br />
out, <br />
include.rownames = FALSE,<br />
caption = "Relaatiot", <br />
caption.placement = "top"<br />
)<br />
} else {<br />
cat("Relaatioita ei löytynyt!\n")<br />
}<br />
<br />
</rcode><br />
<br />
<rcode label="Lisää relaatio" name="relaatio" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:nykyinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III|<br />
name:jaeid2|description:Mikä on kohdejakeen ID?|type:text|<br />
name:relaatio|description:'''Kuinka lähtöjae liittyy kohdejakeeseen?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'tukee tai on linjassa';tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';on neutraali suhteessa;<br />
'on uusi linjaus tai painotus';on uusi linjaus tai painotus;<br />
'kuuluu ryhmään/kokoelmaan';kuuluu ryhmään/kokoelmaan|<br />
name:lisarelaatio|description:VAPAAEHTOINEN Voit antaa oman jakeiden välisen relaation vapaakenttään.|type:text|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
relaatio <- ifelse(lisarelaatio == '', relaatio, lisarelaatio)<br />
if (nchar(gsub(" ", "", relaatio)) == 0) stop("Relaatiota ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = relaatio<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Relaation lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
<rcode label="Lisää sisällytys" name="sisallytys" embed=1 variables="<br />
name:sivu1|description:Mikä on lähtöjakeen sivu?|type:selection|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III|<br />
name:jaeid1|description:Mikä on lähtöjakeen ID?|type:text|<br />
name:version|description:Mikä on lähtöjakeen versio?|type:text|default:edellinen|<br />
name:sivu2|description:Mikä on kohdejakeen sivu?|type:selection|options:<br />
'Sama';Sama kuin lähtöjakeella;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III|<br />
name:jaeid2|description:Mikä on kohdejakeen ID (uudemmassa versiossa)?|type:text|<br />
name:sisallytys|description:'''Sisällytettiinkö ehdotus uudempaan versioon?'''|type:selection|options:<br />
' ';- Valitse -;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun;<br />
'ehdotus ei ole antanut aihetta muutoksiin';ehdotus ei ole antanut aihetta muutoksiin|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
if (nchar(gsub(" ", "", sisallytys)) == 0) stop("Sisällytyksen tyyppiä ei annettu!")<br />
<br />
library(OpasnetUtils)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
jaeid1 <- strsplit(jaeid1, ",", fixed = TRUE)[[1]]<br />
jaeid1 <- gsub(" ", "", jaeid1)<br />
jaeid2 <- strsplit(jaeid2, ",", fixed = TRUE)[[1]]<br />
jaeid2 <- gsub(" ", "", jaeid2)<br />
<br />
if (tolower(version) == "edellinen") {<br />
version <- get_current_version(ident) - 1<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
if(sivu2 == "Sama") sivu2 <- sivu1<br />
<br />
ident.subset <- paste(ident, "Relaatiot", sep = ".")<br />
<br />
filter <- list()<br />
filter$Versio <- version<br />
<br />
dat <- data.frame(<br />
RelaatioID = NA,<br />
Versio = version, <br />
Aika = date(), <br />
Käyttäjä = wiki_username, <br />
Sivu1 = sivu1,<br />
JaeID1 = jaeid1,<br />
Sivu2 = sivu2,<br />
JaeID2 = jaeid2,<br />
Result = sisallytys<br />
)<br />
<br />
upload_with_autoid(<br />
dat,<br />
ident.subset,<br />
id_name = "RelaatioID",<br />
pagename = pagename,<br />
filter = filter<br />
)<br />
<br />
cat("Sisällytyksen lisääminen onnistui.\n")<br />
<br />
</rcode><br />
<br />
<rcode name="relaationpoisto" embed=1 label="Poista relaatio" showcode=0 variables="<br />
name:relid|description:Poistettavan relaation ID (pilkulla eroteltuna useampia)|type:text|<br />
name:version|description:Mikä versio on kyseessä?|type:text|default:nykyinen|<br />
name:syy|description:Poiston syy|type:selection|options:<br />
' ';- Valitse syy -;<br />
'Relaatio ei päde uudessa versiossa';Relaatio ei päde uudessa versiossa;<br />
'Virheellinen relaatio';Virheellinen relaatio|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
<br />
relid <- strsplit(relid, ",", fixed = TRUE)[[1]]<br />
relid <- gsub(" ", "", relid)<br />
<br />
if (tolower(version) == "nykyinen") {<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
version <- get_current_version(ident)<br />
} else {<br />
version <- as.numeric(version)<br />
}<br />
<br />
dat <- data.frame(<br />
Versio = version,<br />
Aika = date(), <br />
Käyttäjä = wiki_username,<br />
Syy = syy, <br />
Result = relid<br />
)<br />
<br />
opbase.upload(<br />
dat, <br />
ident = ident, <br />
name = pagename, <br />
subset = "Relaationpoistot", <br />
act_type = "append", <br />
language = "fin",<br />
who = wiki_username<br />
)<br />
<br />
cat("Relaatio poistettiin onnistuneesti.\n")<br />
</rcode><br />
<br />
=== Kehittyneemmät hakukoneet ===<br />
'''Hae jakeita ja niihin liittyviä avainsanoja'''<br />
<rcode label="Hae" name="avainsanat_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta jakeita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
<br />
out <- jaehakukone(ident, sivu = sivu, versio = version, jae = jaeid)<br />
<br />
if (nrow(out) == 0) {<br />
stop("Jakeita ei löytynyt!")<br />
}<br />
<br />
filter <- list()<br />
filter$Sivu <- sivu<br />
filter$Versio <- version<br />
filter$JaeID <- jaeid<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt!\n")<br />
} else {<br />
colnames(tags)[colnames(tags) == "Result"] <- "Avainsana"<br />
out <- join(<br />
tags[c("Versio", "Sivu", "JaeID", "AvainsanaID", "Avainsana")],<br />
out[c("Versio", "Sivu", "JaeID", "Result")]<br />
)<br />
# Jos annettiin vain yksi versio ja/tai sivu niin niitä ei tarvitse printata<br />
filter_ind <- NULL<br />
if (length(version) != 1) filter_ind <- c(filter_ind, "Versio")<br />
if (length(sivu) != 1) filter_ind <- c(filter_ind, "Sivu")<br />
filter_ind <- c(filter_ind, "JaeID")<br />
oprint(out[c(filter_ind, "Result", "AvainsanaID", "Avainsana")], include.rownames = FALSE, show_all = TRUE)<br />
}<br />
</rcode><br />
<br />
'''Hae relaatioita ja niihin kuuluvia jakeita'''<br />
<rcode label="Hae" name="relaatiot_disp" embed=1 variables="<br />
name:sivu|description:Sivu jolta relaatioita haetaan|type:selection|options:<br />
NULL;Kaikilta;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III|<br />
name:jaeid|description:Anna halutessasi jakeen ID(:t)|type:text|default:hae kaikki|<br />
name:liitsis|description:Liittymistyyppi (tyhjä = kaikki)|type:checkbox|options:<br />
'tukee tai on linjassa';Tukee tai on linjassa;<br />
'vastustaa tai on ristiriidassa';Vastustaa tai on ristiriidassa;<br />
'on neutraali suhteessa';On neutraali suhteessa;<br />
'on uusi linjaus tai painotus';On uusi linjaus tai painotus;<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu';Ehdotus huomioitu ja liittyvää painotusta muutettu;<br />
'ehdotus huomioitu ja uusi kohta lisätty';Ehdotus huomioitu ja uusi kohta lisätty;<br />
'ehdotus ei ole antanut aihetta muutoksiin';Ehdotus ei ole antanut aihetta muutoksiin;<br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun';Ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
# Eri sisältymistyypit pitää määritellä niin että ne voidaan käsitellä erillään muista relaatioista<br />
sis_opt <- c(<br />
'ehdotus huomioitu ja liittyvää painotusta muutettu',<br />
'ehdotus huomioitu ja uusi kohta lisätty',<br />
'ehdotus ei ole antanut aihetta muutoksiin', <br />
'ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun'<br />
)<br />
#liit_opt <- c(<br />
# 'tukee tai on linjassa',<br />
# 'vastustaa tai on ristiriidassa',<br />
# 'on neutraali suhteessa',<br />
# 'on uusi linjaus tai painotus'<br />
#)<br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
# Erottelu pilkuilla ja välilyöntien poisto<br />
if (!is.null(sivu)) sivu <- gsub("^\\s*|\\s*$", "", strsplit(sivu, ",")[[1]])<br />
if (tolower(jaeid == "hae kaikki")) {<br />
jaeid <- NULL<br />
} else {<br />
jaeid <- gsub("^\\s*|\\s*$", "", strsplit(jaeid, ",")[[1]])<br />
}<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter <- list()<br />
filter$Sivu1 <- sivu<br />
filter$Versio <- version<br />
filter$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter$JaeID1 <- NULL<br />
filter$Sivu1 <- NULL<br />
filter$JaeID2 <- jaeid<br />
filter$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (!is.null(liitsis)) rel <- rel[rel$Result %in% liitsis, ]<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = unique(c(<br />
as.character(rel$Sivu1), <br />
as.character(rel$Sivu2)<br />
)), <br />
versio = version, <br />
jae = unique(c(<br />
as.character(rel$JaeID1), <br />
as.character(rel$JaeID2)<br />
))<br />
)<br />
if (nrow(jakeet) == 0) stop("Relaatioissa listattuja jakeita ei löytynyt!")<br />
<br />
# Relaatiot<br />
if (nrow(rel[!(rel$Relaatio %in% sis_opt),]) > 0) {<br />
jakeet <- jakeet[c("Versio", "Sivu", "JaeID", "Result")]<br />
colnames(jakeet)[colnames(jakeet) == "JaeID"] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu"] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Jae1"<br />
rel <- rel[c("RelaatioID", "Versio", "Sivu1", "JaeID1", "Result", "Sivu2", "JaeID2")]<br />
colnames(rel)[colnames(rel) == "Result"] <- "Relaatio"<br />
out <- join(<br />
rel[(!(rel$Relaatio %in% sis_opt)) & rel$Versio %in% original_version,], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Relaatio", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Relaatiot", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei relaatioita!\n")<br />
}<br />
<br />
# Sisällytykset<br />
if (nrow(rel[(rel$Relaatio %in% sis_opt),]) > 0) {<br />
colnames(jakeet)[colnames(jakeet) %in% c("JaeID","JaeID2")] <- "JaeID1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Sivu", "Sivu2")] <- "Sivu1"<br />
colnames(jakeet)[colnames(jakeet) %in% c("Result", "Jae2")] <- "Jae1"<br />
colnames(rel)[colnames(rel) == "Relaatio"] <- "Sisällytys"<br />
out <- join(<br />
rel[rel$Sisällytys %in% sis_opt & rel$Versio %in% version[-length(version)],], <br />
jakeet, <br />
match = "first" # versio - sivu - jaeid -> yksi yhteen<br />
)<br />
<br />
colnames(jakeet)[colnames(jakeet) == "JaeID1"] <- "JaeID2"<br />
colnames(jakeet)[colnames(jakeet) == "Sivu1"] <- "Sivu2"<br />
colnames(jakeet)[colnames(jakeet) == "Jae1"] <- "Jae2"<br />
jakeet$Versio <- as.numeric(as.character(jakeet$Versio)) - 1<br />
out <- join(out, jakeet, match = "first")<br />
<br />
oprint(<br />
out[c("Versio", "RelaatioID", "Sivu1", "JaeID1", "Jae1", "Sisällytys", "Sivu2", "JaeID2", "Jae2")], <br />
include.rownames = FALSE, <br />
caption = "Sisällytys (uudempaan versioon)", <br />
caption.placement = "top", <br />
show_all = TRUE<br />
)<br />
} else {<br />
cat("Ei sisällytyksiä!\n")<br />
}<br />
}<br />
</rcode><br />
<br />
===Analyysi===<br />
'''Tässä voit hakea jakeita ja analysoida niiden määriä hakemalla yhdellä tai useammalla avainsanalla. '''<br />
<br />
Käytetyt avainsanat:<br />
{{piilotettu|<br />
3D-tulostus Aikataulut Ajoneuvokanta Alueellisuus <br />
alustus Ammattiryhmät Arvo Asutus <br />
Aurinko Automatisaatio Avoimuus Big Data <br />
Biopolttoaine Dataliikenne Digitalisoituminen Eettisyys <br />
eIDAS Elintaso Energia Epäselvä luokka <br />
Eriarvoisuus Erityisryhmät Esineiden internet Globaalius <br />
Globaaluis Henkilökortti Henkilötiedot Huutokauppa <br />
Hybridi Hybridi-TV Hyvinvointi Hyvinvointiyhteiskunta <br />
Häiriöt Ilmasto Infrastruktuuri Innovatiivisus <br />
Innovatiivisuus Internet Investoinnit Joukkoliikenne <br />
Joustavuus Julkinen valta Kaivosteollisuus Kansainvälisyys <br />
Kasvihuonekaasut Kaupallisuus Kaupungit Kehitys <br />
Kestävyys Kevyen liikenteen väylät Kevytliikenne Kiinteistöt <br />
Kilpailu Kilpailukyky Konesalit Konkreettisuus <br />
Kotimaisuus Koulutus Kunnat Kustannustehokkuus <br />
Kuuluvuus Kävely Laajakaista Lainsäädäntö <br />
Laiton tarjonta Langattomuus Lappi Lentoliikenne <br />
Liikenne Liikenneverkostot Liikkumistili Linja-autot <br />
Logistiikka Luonnonsuojelu Lämmitys Maakaasu <br />
Maatalous Mainonta Markkinat Massavalvonta <br />
Meriliikenne Metadata Mobiiliverkko Mopot <br />
Nopeus Ohjaus Ohjelmistot Ohjelmistotoimittaja <br />
Oikeusturva Omavaraisuus Operaattori Osaaminen <br />
Ostovoima Palaute Palvelut Palvelutaso <br />
Peruskunto Pilvipalvelut Polttoaine Posti <br />
Puelueettomuus Pysäköinti Pyöräily Päivitys <br />
Pääkaupunkiseutu Päästöt Päätöksenteko Päätös <br />
Raha Rahoitus Rahtliikenne Rajapinnat <br />
Rakennemuutos Rakentaminen Raskas liikenne Rautatiet <br />
Riippuvuus Rikokset Robotisaatio Ruuhkamaksu <br />
Ruuhkautuminen Saatavuus Sateliittipaikannus Sovellukset <br />
Strategia Suunnittelu Sähkö Sähköauto <br />
Sääntely Säästöt Talous Talouskasvu <br />
Tarpeet Tasa-arvo Tasapuolisuus Tasavertaisuus <br />
Tavaraliikenne Tehokkuus Tekijänoikeus Tekniikkaneutraalius <br />
Tekninen tuki Teknologia Teknologianeutraalius Teollisuus <br />
Terveydenhuolto Terveys testi Tiedon avoimuus <br />
Tiedon hallinnointi Tiedon hallinta Tiedon hyödyntäminen Tieliikenne <br />
Tietoliikenne Tietoturva Toimilupa Toiminta <br />
Toimintavarmuus Toimivuus Tuki Turvallisuus <br />
Turvaverkko Tutkimus Tuuli TV <br />
Työllisyys Työn tekemiseen liittyvä Ulkomaat Uudistus <br />
Vaihtoehtoiset polttoaineet Vaikuttaminen Vaikutus Vakuutus <br />
Valinnanvapaus Valtio Varmenne Varmuus <br />
Vastuu Verkostoituminen Verotus Vesiliikenne <br />
Vesiliikenne, Tasavertaisuus Viestintäverkot Viranomaiset Yhteensopivuus <br />
Yhteiskunta Yhteiskuntamurros Yhteistyö Yhteysnopeus <br />
Yksityisautoilu Yksityisyydensuoja YLE Yleispalvelu <br />
Yleisradio Ympäristö Yritykset Öljy <br />
}}<br />
<br />
<rcode label="Näytä jakeita/tilastoja" name="jae_stats" embed=1 graphics=1 variables="<br />
name:sivu|description:Minkä sivun jakeita haluat tarkastella?|type:selection|options:<br />
NULL;Kaikki;<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III|<br />
name:avainsanat|description:Hae jakeita joilla on ainakin yksi seuraavista avainsanoista|type:text|<br />
name:avainsanat_all|description:Hae jakeita joilla on kaikki seuraavat avainsanat|type:text|<br />
name:jaelista|description:Haluatko nähdä kaikki löydetyt jakeet?|type:selection|options:FALSE;En;TRUE;Kyllä|default:FALSE|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
library(ggplot2)<br />
<br />
filter <- list()<br />
if (nchar(gsub(" ", "", avainsanat)) > 0) {<br />
avainsanat <- strsplit(avainsanat, ",")[[1]]<br />
avainsanat <- gsub("^\\s*|\\s*$", "", avainsanat) <br />
} else {<br />
avainsanat <- NULL<br />
}<br />
if (nchar(gsub(" ", "", avainsanat_all)) > 0) {<br />
avainsanat_all <- strsplit(avainsanat_all, ",")[[1]]<br />
avainsanat_all <- gsub("^\\s*|\\s*$", "", avainsanat_all)<br />
#filter$Avainsana <- avainsanat_all<br />
} else {<br />
avainsanat_all <- NULL<br />
}<br />
filter$Sivu <- sivu<br />
version <- gsub("^\\s*|\\s*$", "", strsplit(version, ",")[[1]])<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
filter$Versio <- version<br />
<br />
if (length(filter) == 0) filter <- NULL<br />
<br />
tags <- try_dl_rm(<br />
paste(ident, "Avainsanat", sep = "."), <br />
filter = filter, <br />
rm_id = paste(ident, "Avainsananpoistot", sep = "."),<br />
rm_ind = "AvainsanaID"<br />
)<br />
<br />
jaeid <- NULL<br />
<br />
if (!is.null(avainsanat)|!is.null(avainsanat_all)) {<br />
tags <- tags[tags$Result %in% c(avainsanat, avainsanat_all), ]<br />
jaeid <- unique(as.character(tags$JaeID))<br />
}<br />
<br />
if(!is.null(avainsanat_all)) {<br />
temp <- list()<br />
for (i in 1:nrow(jaeid)) {<br />
temp[[i]] <- avainsanat_all %in% tags$Result[tags$JaeID == jaeid[i]]<br />
}<br />
temp <- lapply(temp, all)<br />
jaeid <- jaeid[temp]<br />
tags <- tags[tags$JaeID %in% jaeid,]<br />
}<br />
<br />
if (nrow(tags) == 0) {<br />
cat("Avainsanoja ei löytynyt.\n")<br />
}<br />
<br />
if (is.null(filter)) {<br />
filter2 <- list()<br />
} else {<br />
filter2 <- filter<br />
}<br />
<br />
filter2$JaeID <- jaeid<br />
<br />
if (length(filter2) == 0) filter2 <- NULL<br />
<br />
if (jaelista) {<br />
jakeet <- jaehakukone(<br />
ident, <br />
sivu = filter2$Sivu, # *list$non-existent returns NULL<br />
versio = filter2$Versio, <br />
jae = filter2$JaeID<br />
)<br />
if (nrow(jakeet) == 0) {<br />
cat("Avainsanoissa listattuja jakeita ei löytynyt.\n")<br />
} else {<br />
colnames(jakeet)[colnames(jakeet) == "Result"] <- "Sisältö"<br />
tagged <- NULL<br />
if (nrow(tags) > 0) {<br />
#tagged <- join(<br />
# jakeet[c("Versio", "Sivu", "Aihe", "JaeID")], <br />
# tags[c("Versio", "Sivu", "JaeID", "Result")]<br />
#)<br />
#colnames(tagged)[colnames(tagged) == "Result"] <- "Avainsana"<br />
tagged <- tapply(tags$Result, tags[c("Versio", "Sivu", "JaeID")], paste, collapse = ", ")<br />
tagged <- as.data.frame(as.table(tagged))<br />
colnames(tagged)[colnames(tagged) == "Freq"] <- "Avainsanat"<br />
tagged <- join(<br />
jakeet[c("Versio", "Sivu", "JaeID", "Sisältö")], <br />
tagged[c("Versio", "Sivu", "JaeID", "Avainsanat")],<br />
type = "inner",<br />
match = "first"<br />
)<br />
oprint(<br />
tagged[c("Versio", "Sivu", "JaeID", "Sisältö", "Avainsanat")],<br />
caption = "Jakeet", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = rep(0, 6)<br />
)<br />
}<br />
}<br />
}<br />
<br />
if (nrow(tags) > 0) {<br />
tags_out <- ddply(tags, "Result", nrow)<br />
colnames(tags_out) <- c("Avainsana", "Lukumäärä")<br />
tags_out <- tags_out[order(tags_out$Lukumäärä, decreasing = TRUE),]<br />
oprint(<br />
tags_out,<br />
caption = "Avainsanojen lukumäärät", <br />
caption.placement = "top",<br />
include.rownames = FALSE,<br />
digits = c(0, 0, 0)<br />
)<br />
ggplot(tags_out, aes(x = Avainsana, y = Lukumäärä, fill = Avainsana)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Avainsanojen frekvenssit")<br />
}<br />
<br />
# Add previous and next versions to check for inclusion from previous and into next<br />
original_version <- version<br />
if (!(1 %in% version)) {<br />
prev <- TRUE<br />
version <- c(min(version, na.rm = TRUE) - 1, version)<br />
}<br />
version <- c(version, max(version, na.rm = TRUE) + 1)<br />
<br />
filter3 <- list()<br />
filter3$Sivu1 <- sivu<br />
filter3$Versio <- version<br />
filter3$JaeID1 <- jaeid<br />
<br />
rel1 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
if (is.null(jaeid)) {<br />
rel2 <- data.frame()<br />
} else {<br />
filter3$JaeID1 <- NULL<br />
filter3$Sivu1 <- NULL<br />
filter3$JaeID2 <- jaeid<br />
filter3$Sivu2 <- sivu<br />
<br />
rel2 <- try_dl_rm(<br />
paste(ident, "Relaatiot", sep = "."), <br />
filter = filter3, <br />
rm_id = paste(ident, "Relaationpoistot", sep = "."),<br />
rm_ind = "RelaatioID"<br />
)<br />
}<br />
<br />
rel <- rbind(rel1, rel2)<br />
<br />
if (!any(original_version %in% rel$Versio)) stop("Annetuilla versiolla ei löytynyt relaatioita.")<br />
<br />
if (nrow(rel) == 0) {<br />
cat("Jakeelle ei löytynyt kysyttyjä relaatioita tietokannassa.\n")<br />
} else {<br />
related <- rel[<br />
rel$Result %in% c(<br />
"on neutraali suhteessa", <br />
"on uusi linjaus tai painotus", <br />
"tukee tai on linjassa", <br />
"vastustaa tai on ristiriidassa"<br />
), ]<br />
related$Result <- as.character(related$Result)<br />
affected <- rel[<br />
rel$Result %in% c(<br />
"ehdotus ei ole antanut aihetta muutoksiin",<br />
"ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun", <br />
"ehdotus huomioitu ja liittyvää painotusta muutettu",<br />
"ehdotus huomioitu ja uusi kohta lisätty"<br />
), ]<br />
affected$Result <- as.character(affected$Result)<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin"] <- "Ei aihetta muutoksiin"<br />
affected$Result[affected$Result == "ehdotus ei ole antanut aihetta muutoksiin vaan sisältyy olennaisesti jo kirjattuun"] <- "Sisältyy valmiiksi"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja liittyvää painotusta muutettu"] <- "Huomioitu painotuksella"<br />
affected$Result[affected$Result == "ehdotus huomioitu ja uusi kohta lisätty"] <- "Huomioitu lisäyksellä"<br />
<br />
related_out <- ddply(related, "Result", nrow)<br />
colnames(related_out) <- c("Relaatio", "Lukumäärä")<br />
<br />
affected_out <- ddply(affected, "Result", nrow)<br />
colnames(affected_out) <- c("Sisällytys", "Lukumäärä")<br />
}<br />
<br />
if (nrow(related_out > 0)) {<br />
ggplot(related_out, aes(x = Relaatio, y = Lukumäärä, fill = Relaatio)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Relaatioiden frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
<br />
if (nrow(affected_out > 0)) {<br />
ggplot(affected_out, aes(x = Sisällytys, y = Lukumäärä, fill = Sisällytys)) + <br />
geom_bar(stat = "identity") + <br />
theme_grey(base_size = 24) + <br />
theme(axis.text.x = element_blank(), axis.title.x = element_blank()) + <br />
ggtitle("Sisällytyksen frekvenssit")# + facet_wrap(~Sivu)<br />
}<br />
</rcode><br />
=== Sulautus ===<br />
{{tuloslinkki}}<br />
<rcode label="Etsi sulautuksia" name="sulautus" embed=0 variables="<br />
name:sivu|description:Sivut joihin sulautus tehdään (kaikista edellisen version jakeista)|type:checkbox|options:<br />
'Liikenne ja viestintä palveluna';Liikenne ja viestintä palveluna;<br />
'Liikenteen palvelumarkkinat';Liikenteen palvelumarkkinat;<br />
'Liikenteen energiareformi';Liikenteen energiareformi;<br />
'Älykkäät käyttäjälähtöiset digitaaliset palvelut';Älykkäät käyttäjälähtöiset digitaaliset palvelut;<br />
'Monipuoliset sisällöt';Monipuoliset sisällöt;<br />
'Oma Painotus Teema I';Oma Painotus Teema I;<br />
'Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä';Digitaalinen tieto hyvinvoinnin ja kilpailuedun lähteenä;<br />
'Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen';Käyttäjän oikeus omaan tietoonsa ja sen hyödyntämiseen;<br />
'Luottamuksen palauttaminen internettiin';Luottamuksen palauttaminen internettiin;<br />
'Datan liiketoiminta- ja käyttömahdollisuudet';Datan liiketoiminta- ja käyttömahdollisuudet;<br />
'Tieto ja digitalisaatio liikenteessä';Tieto ja digitalisaatio liikenteessä;<br />
'Oma Painotus Teema II';Oma Painotus Teema II;<br />
'Infrastruktuuri kasvun alustana';Infrastruktuuri kasvun alustana;<br />
'Toimintavarmuus ja turvallisuus';Toimintavarmuus ja turvallisuus;<br />
'Liikenne- ja viestintäyhteydet';Liikenne- ja viestintäyhteydet;<br />
'Arktinen strategia';Arktinen strategia;<br />
'Liikennejärjestelmän rahoitus ja taloudellinen ohjaus';Liikennejärjestelmän rahoitus ja taloudellinen ohjaus;<br />
'Oma Painotus Teema III';Oma Painotus Teema III|<br />
name:version|description:Versio|type:text|default:nykyinen|<br />
name:toleranssi|description:Toleranssi (Levenshtein distance)|default:5|<br />
name:tallenna|description:Tallenna kantaan|type:selection|options:TRUE;Kyllä;FALSE;Ei|default:FALSE|<br />
name:ident|type:hidden|default:'{{{1|Op_fi{{PAGEID}}}}}'|<br />
name:pagename|type:hidden|default:'{{PAGENAME}}'<br />
"><br />
library(OpasnetUtils)<br />
library(plyr)<br />
objects.latest("Op_fi4325", "apufunktiot")<br />
<br />
mdat <- get_meta_data(ident)<br />
<br />
a <- tolower(version) == "nykyinen"<br />
if (any(a)) {<br />
version <- version[!a]<br />
version <- c(version, get_current_version(ident))<br />
}<br />
version <- as.numeric(version)<br />
version <- c(version - 1, version)<br />
<br />
jakeet <- jaehakukone(ident, versio = version)<br />
<br />
ver1 <- jakeet[jakeet$Versio == version[1],]<br />
ver2 <- jakeet[jakeet$Versio == version[2] & jakeet$Sivu == sivu,]<br />
<br />
# adist too slow<br />
d <- adist(<br />
ver1$Result, <br />
ver2$Result,<br />
fixed = FALSE<br />
)<br />
d[is.na(d)] <- Inf<br />
#d_min <- apply(d, 1, min)<br />
#d_tol <- d <= toleranssi<br />
#d_out <- apply(d, 1, which.min)<br />
<br />
colnames(ver1)[colnames(ver1) == "Versio"] <- "Versio1"<br />
colnames(ver1)[colnames(ver1) == "Sivu"] <- "Sivu1"<br />
colnames(ver1)[colnames(ver1) == "JaeID"] <- "JaeID1"<br />
colnames(ver1)[colnames(ver1) == "Result"] <- "Result1"<br />
<br />
colnames(ver2)[colnames(ver2) == "Versio"] <- "Versio2"<br />
colnames(ver2)[colnames(ver2) == "Sivu"] <- "Sivu2"<br />
colnames(ver2)[colnames(ver2) == "JaeID"] <- "JaeID2"<br />
colnames(ver2)[colnames(ver2) == "Result"] <- "Result2"<br />
<br />
#out <- cbind(ver1[d_min <= toleranssi, ], ver2[d_out[d_min <= toleranssi], ])<br />
<br />
d <- alply(d, 1, I)<br />
d_tol <- llply(d, function(x) {x <= toleranssi})<br />
d_reps <- laply(d_tol, sum)<br />
d_w <- llply(d_tol, which)<br />
d_w <- unlist(d_w)<br />
<br />
out <- cbind(ver1[rep(1:nrow(ver1), d_reps),], ver2[d_w, ])<br />
<br />
#d <- NULL<br />
#n <- NULL<br />
#for (i in 1:nrow(ver1)) {<br />
# for (j in split(ver2$Result, ceiling((1:nrow(ver2)) / 100))) {<br />
# temp <- agrep(ver1$Result[i], j, toleranssi)<br />
# d <- append(d, temp)<br />
# n <- append(n, length(temp))<br />
# }<br />
#}<br />
<br />
#out <- cbind(<br />
# ver1[rep(1:nrow(ver1), n),],<br />
# ver2[d,]<br />
#)<br />
if (tallenna) {<br />
opbase.upload(<br />
out,<br />
name = pagename,<br />
who = wiki_username,<br />
subset = "Sulautukset"<br />
)<br />
} else { <br />
oprint(<br />
out, <br />
include.rownames = FALSE, <br />
digits = rep(0, ncol(out) + 1), <br />
caption("Sulautus uuteen versioon"), <br />
caption.placement = "top",<br />
show.all = TRUE<br />
)<br />
}<br />
</rcode></div>
Teemu R