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.
söndag 20 maj 2012
måndag 14 maj 2012
Det var bättre förr
Vem har raderat alla excel-inläsnings-funktioner från R-version 2.15.0 (Mac)? Jag kör nu version 2.14.2 och surar.
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?
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!
Känner för att fira men vet inte hur!
torsdag 3 maj 2012
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!
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)
}
testdata<-c("NA","34+15+Okänt","45+35+NA+17", "2+4", "35 NA" )
data.to.columns(Oldcol=testdata, Separators=c("+"," "))
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("+"," "))
Prenumerera på:
Inlägg (Atom)