söndag 20 maj 2012

Trikågarn

Jag och N ska är tillsammans med bror påväg till Borås för att köpa en ny bil till honom. Vad passar då bättre än att pröva det nya trikågarnet som jag köpte igår?!

Prövar att göra en brödkorg med virknål 12.

onsdag 9 maj 2012

Olika färger i R

Förut hade jag en kollega som gjorde små R-funktioner åt mig när jag gnällde om att R inte gjorde saker som jag ville. Vill ni bli lika omtyckta som honom, tipsa mig om hur man löser problemet nedan:)

En sak som jag länge tänk på som är irriterande med R är att det är samma färg på output, varnings- och felmeddelanden i konsolen. Detta måste man väll kunna ändra i detta fantastiska program?! Frågan är hur, min snabba sökning på Google hjälpte föga - några tips?

måndag 7 maj 2012

My life is back!

Syster och man är tillbaka efter sin resa från NY vilket betyder att familjen åter består av mig och N! Söta finaste syskonbarn ni är underbara i kvadrat men visst är det härligt att allt är som vanligt igen??!

Känner för att fira men vet inte hur!

onsdag 2 maj 2012

Data till kolumner

En av de få saker jag gillar med Excel är funktionen "data till kolumner". Jag har därför just suttit och programmerat en motsvarande funktion till R (fick ett dataset i behov av en del handpåläggning från en klient).  Och nej, jag vill inte veta om det redan fanns!

Kod nedan. (Skönhetsupplevelse utlovas ej!)



data.to.columns<-function(Oldcol, Separators){
  antal<-nchar(as.character(Oldcol), type="chars")
  maxantal<-max(antal)
  tempframe<-as.data.frame(matrix(NA,length(Oldcol),maxantal))
  new.col<-as.data.frame(matrix(0,length(Oldcol),maxantal))
  col.assign<-as.data.frame(matrix(0,length(Oldcol),maxantal))
    for (i in 1:maxantal){
    tempframe[antal>=i,i]<-substr(Oldcol[antal>=i],i,i)

    for (separators in 1:length(Separators)){
       new.col[!is.na(tempframe[,i])&tempframe[,i]==Separators[separators],i]<-1
    }
    if (i==1){
      col.assign[!is.na(tempframe[,i]),i]<-1}
 
    if (i>1){
    col.assign[!is.na(tempframe[,i]),i]<-new.col[!is.na(tempframe[,i]),i]+col.assign[!is.na(tempframe[,i]),i-1]}
    }

for (i in 1:maxantal){
  col.assign[new.col[,i]==1,i]<-0
}
n.new.col<-max(apply(new.col,1,sum))+1
new.data<-matrix("",length(Oldcol),n.new.col)
for (columns in 1:n.new.col){
  for (i in 1:maxantal){
      new.data[col.assign[,i]==columns,columns]<-(paste(new.data[col.assign[,i]==columns,columns],tempframe[col.assign[,i]==columns,i], sep=""))
    }
  }
new.columns<-as.data.frame(new.data)
return(new.columns)
}

Exempel:


testdata<-c("NA","34+15+Okänt","45+35+NA+17", "2+4", "35 NA" )
data.to.columns(Oldcol=testdata, Separators=c("+"," "))

tisdag 1 maj 2012

Allt och ingenting

Barnen sover och en behaglig tystnad har lagt sig i hemmet. Det här med att umgås med barn är fascinerande, allt och ingenting händer på samma gång. Vi har egentligen inte gjort något speciellt idag samtidigt men ändå har det gått i ett. På med kläder och ut på stan, för varmt ta av jackor, akut törstiga strupar, provning av nya vårskor som är försmå/förstora/skaver/klämmer, fem butiker senare fullträff, lirkat ut barn från skyltfönster, diskuterat varför det inte är okej att bada i kungsan fast 109 andra barn gör det, njutit av vårsolen och glass, hemåt med trötta korta ben, bakat pizza, ätit middag,syskonbråk, torkat tårar,tömt diskmaskin 2 gånger, spelat kort, bad, nattat minsta barnet och hällt ut vatten i sängen, stora barnet tappade en tand, stora barnet somnat, packat väskor till skola och dagis, ligger i sängen och kom precis på varför vuxna alltid har kontanter -> för att kunna leka tandfe, bävar för besviken min imorgon när upptäckten görs att tandfen inte varit här.

Lika bra att sova, imorgon väntar ännu en dag där allt och ingenting kommer att hända.

Våren är här!

Kommer vara tvåbarnsförälder i en vecka. Idag tog vi en sväng ner till Kungsträdgården och åt glass!