PotenzA <- function(strv,Pcodes,xmlpruef,verbose=FALSE) { # Potenzmengenauszählung # (C) LG # Verwendung von "ContAna.R" von Hartmut Oldenbürger # Version 0.01, zuerst 17.10.2004 Tübingen, zuletzt 21.10.04 # Format: "[xyz],[abc],..." für Zeilen mit Codes # strv = Sringvektor, XML, zeilenweise Propositionen # Pcodes = Propositionsvektor für Potenz(mengenauszählung) # da Propositionen in einer ganzen Zeile sind, kann xmlpruef$bln genommen werden, ..$bla und ..$ble sind überflüssig # pro xmlpruef$bln = XML Block, max(xmlpruef$bln) = Anzahl Spalten, sprich Personen n <- dim(xmlpruef)[1] # Anzahl XML Blöcke Pfreq <- matrix(data=0, nrow=length(Pcodes), ncol=n) # Frequenztabelle definieren Pcodes <- sort(Pcodes) # alphabetisch sortieren Potenzmenge rownames(Pfreq) <- Pcodes # Labels = Propositionen for(spal in 1:n) # Schleife alle Elemente im XML Block = Spalten { strvxml <- strv[xmlpruef$bla[spal]:xmlpruef$ble[spal]] # Propositionen zu untersuchender XML Block in String schreiben for(prop in 1:length(strvxml)) # Schleife innerhalb XML Block { for(zeil in 1:length(Pcodes)) # Schleife Zeilen: Propositionsvektor der gesamten Potenzmenge { if(strvxml[prop] == Pcodes[zeil]) Pfreq[zeil,spal] <- Pfreq[zeil,spal] + 1 # if(verbose) print(paste(strvxml[prop],Pfreq[zeil,spal],sep=",")) } } # strvxml <- "" } return(Pfreq) }