Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- readfile <- function(lv, name)
- {
- f <- read.csv(paste("C:/Piratistiken-master/Piratistiken-master/", name, sep=""),
- sep="\t", comment.char = "#", header=F, col.names=c("Date", paste("M.", lv, sep=""), paste("S.", lv, sep=""), "x"))
- f$Date <- as.Date(sprintf("%s", t(f$Date)), "%Y%m%d")
- f[,1:3]
- }
- m <- function(ar1, ar2)
- {
- merge(ar1, ar2, by="Date", all=T)
- }
- data <- readfile("BB", "LV-BB.txt")
- data <- m(data, readfile("BE", "LV-BE.txt"))
- data <- m(data, readfile("BW", "LV-BW.txt"))
- data <- m(data, readfile("BY", "LV-BY.txt"))
- data <- m(data, readfile("HB", "LV-HB.txt"))
- data <- m(data, readfile("HE", "LV-HE.txt"))
- data <- m(data, readfile("HH", "LV-HH.txt"))
- data <- m(data, readfile("LSA", "LV-LSA.txt"))
- data <- m(data, readfile("MV", "LV-MV.txt"))
- data <- m(data, readfile("NDS", "LV-NDS.txt"))
- data <- m(data, readfile("NRW", "LV-NRW.txt"))
- data <- m(data, readfile("RP", "LV-RP.txt"))
- data <- m(data, readfile("SH", "LV-SH.txt"))
- data <- m(data, readfile("SL", "LV-SL.txt"))
- data <- m(data, readfile("SN", "LV-SN.txt"))
- data <- m(data, readfile("TH", "LV-TH.txt"))
- data <- m(data, readfile("BV", "OUTSIDE.txt"))
- require(zoo)
- datafull <- data
- for (c in (1:((dim(datafull)[2]-3)/2)*2+1)) {
- datafull[,c] <- ifelse(datafull[,c]<10, NA, datafull[,c])
- }
- for (c in (2:dim(datafull)[2])) {
- datafull[,c] <- na.locf(datafull[,c], na.rm=F)
- }
- datafull$M <- apply(datafull[,(1:17)*2], 1, sum)
- datafull$S <- apply(datafull[,(1:17)*2+1], 1, sum)
- trend <- function(data, l1, l2)
- {
- abline(b= (data$S[l2]-data$S[l1]) / (as.numeric(data$Date[l2])-as.numeric(data$Date[l1])),
- a=-((data$S[l2]-data$S[l1]) / (as.numeric(data$Date[l2])-as.numeric(data$Date[l1]))) * as.numeric(data$Date[l1]) + data$S[l1],
- col=rgb(0,0,0,0.5))
- }
- predict <- function(data, l1, l2, d)
- {
- slope <- (data$S[l2]-data$S[l1]) / (as.numeric(data$Date[l2])-as.numeric(data$Date[l1]))
- inter <- -((data$S[l2]-data$S[l1]) / (as.numeric(data$Date[l2])-as.numeric(data$Date[l1]))) * as.numeric(data$Date[l1]) + data$S[l1]
- inter + slope * as.numeric(as.Date(d))
- }
- plot(S ~ Date, data=datafull, type="l", ylim=c(0,20000), xlim=as.Date(c("2012-11-18", "2014-12-31")), xlab="", xaxt="n", col="orange", lwd=2, main="Piratenpartei Deutschland, zahlende Mitglieder, bundesweit")
- #abline(v=as.Date(c("2013-01-01", "2014-01-01", "2015-01-01")), col=rgb(0, 0, 0, 0.5))
- abline(v=as.Date(c("2014-01-01", "2015-01-01")), col=rgb(0, 0, 0, 0.5))
- dateaxis <- as.Date(sprintf("%4d-%02d-01", rep(2006:2015, each=12), rep(1:12,10)))
- axis(1, dateaxis, format(dateaxis, "%b %Y"), cex.axis = .7, las=2)
- trend(datafull, 1114, 1261)
- trend(datafull, 1266, 1407)
- lines(x=c(0, as.numeric(as.Date("2013-12-31"))), y=rep(datafull$S[1261],2), col=rgb(0,0,0,0.5), lwd=2)
- lines(x=c(0, as.numeric(as.Date("2014-12-31"))), y=rep(predict(datafull, 1266, 1407, "2014-12-31"),2), col=rgb(0,0,0,0.5), lwd=2)
- points(x=as.Date(c("2013-12-31", "2014-12-31")), y=c(datafull$S[1261],predict(datafull, 1266, 1407, "2014-12-31")), col=rgb(0,0,0,0.5), cex=1.5, pch=0, lwd=2)
- lines(x=c(0, rep(as.numeric(as.Date("2013-09-23")),2)), y=c(rep(datafull$S[1201],2),-10000), col=rgb(0.2,0.2,1,0.5), lwd=2)
- lines(x=c(0, rep(as.numeric(as.Date("2014-09-23")),2)), y=c(rep(datafull$S[dim(datafull)[1]],2),-10000), col=rgb(0.2,0.2,1,0.5), lwd=2)
- points(x=as.Date(c("2013-09-23", "2014-09-23")), y=c(datafull$S[1201],datafull$S[dim(datafull)[1]]), col=rgb(0.2,0.2,1,0.5), cex=1.7, pch=1, lwd=2)
- legend("topright", col=c("orange","black","blue"), pch=c(NA, 0, 1), cex=1.2, lwd=2, bty="n", legend=c("zahlende Mitglieder", "Vergleich Jahresendwerte", "Periodenvergleich"))
- ############################
- plot(S / M ~ Date, data=datafull, type="l", ylim=c(0,0.6), xlim=as.Date(c("2012-11-18", "2014-12-31")), ylab="Zahlerquote", xlab="", xaxt="n", col="orange", lwd=2, main="Piratenpartei Deutschland, Zahlerquote, bundesweit", las=2)
- abline(v=as.Date(c("2013-01-01", "2014-01-01", "2015-01-01")), col=rgb(0, 0, 0, 0.5))
- dateaxis <- as.Date(sprintf("%4d-%02d-01", rep(2006:2015, each=12), rep(1:12,10)))
- axis(1, dateaxis, format(dateaxis, "%b %Y"), cex.axis = .7, las=2)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement