• Keine Ergebnisse gefunden

” Angewandte Bioinformatik mit Perl und R“

N/A
N/A
Protected

Academic year: 2022

Aktie "” Angewandte Bioinformatik mit Perl und R“"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Wintersemester 2007/2008 Abgabe am 19. Dezember 2007 Prof. Dr. Stefan Posch, Dipl.-Bioinf. Jan Grau

9. ¨ Ubung

” Angewandte Bioinformatik mit Perl und R“

1. Sie haben Daten aus einer Erhebung, bei der f¨ur eine Reihe von Studierenden Geburtsjahr, Schuh- gr¨oße und Gewicht erfragt wird.

(a) Speichern Sie diese Daten in einer Matrix, wobei jede Zeile die Daten einer Person enthalten soll. F¨ullen Sie diese Matrix mit den Daten von mindestens 10 echten (oder gef¨alschten) Perso- nen.

(b) Benennen Sie die Zeilen und Spalten mit sinnvollen Namen.

(c) Jetzt ist Ihnen eingefallen, dass Sie auch das Geschlecht der Personen ben¨otigen. Legen Sie hierf¨ur einen Vektor an, der"w"bzw.m"f¨ur die jeweilige Person enth¨alt. Geben Sie auch den Elementen dieses Vektors Namen, und zwar nat¨urlich dieselben wie in der Datenmatrix. Um sicher zu gehen, dass diese tats¨achlich ¨ubereinstimmen, benutzen Sie bei der Benennung exakt die Namen aus der Datenmatrix.

(d) Selektieren Sie aus der Datenmatrix die Eintr¨age von Studentinnen und Studenten, wobei jeweils eine Matrix derselben Form entstehen soll.

Erzeugen Sie nun eine Matrix, die nur Gewicht und Schuhgr¨oße enth¨alt.

(e) Berechnen Sie (m¨oglichst einfach nat¨urlich) das mittlere Gewicht aller Studierenden, und dann nach Geschlecht getrennt.

Was berechnen die Ausdr¨ucke: mean(daten[geschlecht == m"])und mean(daten[geschlecht == m"],"gewicht")

(3 Punkte)

2. (a) Legen Sie nun eine Liste an, die die Datenmatrix und den Vektor enth¨alt, wobei die Komponen- ten nat¨urlich wiederum geeigent benannt werden sollen.

(b) Weisen Sie dieser Liste ein weiteres Element zu, welches eine (kurze) Beschreibung der Erhe- bung enth¨alt. Falls Sie es nicht schon gemacht haben, geben Sie auch diesem Element einen sinnvollen Namen.

(c) Erzeugen Sie eine Unterliste, die wieder nur die Datenmatrix und den Vektor mit den Geschlech- tern enth¨alt. Verzichten Sie hierbei auf Ihr Wissen, in welcher Reihenfolge die Elemente in der Liste stehen.

(d) Nun f¨allt Ihnen auf, dass am Ende der Beschreibung ein Satz fehlt. Erweitern Sie die Beschrei- bung entsprechend. Hierbei sollen Sie den Anfangsteil, der ja bereits getippt ist, wieder benut- zen.

(2 Punkte)

3. (a) Erzeugen Sie einendata frameder die Datenmatrix und das Geschlecht enth¨alt.

(b) Selektieren Sie aus diesemdata framedieselbem Matrizen wie in Aufgabe 1d

(2)

(c) H¨angen Sie nun an die Bezeichner der Zeilen Ihresdata framevorlaufende Nummer (beginnend ab 1) an. Diese Zuweisung soll f¨ur beliebigedata framesfunktionieren, schreiben Sie also am besten eine kleine Funktion hierf¨ur.

(2 Punkte)

4. (a) Lesen Sie die Daten aus mtcars.txt ein. (Achtung: Die Eintr¨age sind durch Tabulatoren ("\t") getrennt.) Damtcarsauch eine in R verf¨ugbarer Datensatz ist, erhalten Sie mit? mtcars n¨ahre Informationen.

(b) Berechnen Sie den mittleren Verbrauch in miles/gallon alle Autotypen.

(c) Berechnen Sie dann den mittleren Verbrauch in Abh¨angigkeit von der Anzahl der Zylinder.

Schreiben Sie nun eine Funktion hierzu, die als Argumente dasdata frame, die zwei Spal- tenbezeichner und den geforderten Wert f¨ur die zweite Spalte aufweist.

Falls nicht schon ohnehin der Fall, sollen Ihre Funktionen auch f¨ur permutierte Spalten im Da- tensatz funktionieren.

(2 Punkte)

5. Schreiben Sie eine Funktion zur Berechung der Fakult¨at.

Berechnen Sie f¨ur die Zahlen 1 bis 50 (ohne R¨ucksicht auf Effizienz) die Fakult¨at in einem Vektor.

(Hinweis: benutzen Sie die Funktionsapply (1 Punkt)

6. Wir betrachten ein Zeitsignal, welches in einem numerischen Vektor gegeben ist. Wir wollen nun ein “sliding window” (d.h. ein Fenster fester Breite) ¨uber das Signal wandern lassen und aus den Funktionswerten innerhalb des Fensters einen neuen Funktionswert bestimmen, z.B. den Mittelwert.

Schreiben Sie zun¨achst eine Funktion, die in dem Vektor f in einem Fenster der Breite 2· b+ 1 symmetrisch um den Indexiden Mittelwert berechnet und als Funktionswert zur¨uckgibt.

Wenden Sie Ihre Funktion auf verschiedene Fenster folgendes Signals an:

g <- function (sd) sqrt(2*pi)*sd*dnorm( (-3*sd):(3*sd), sd=sd) f <- rep(50,100)

sd = 7 i = 25 a = 20

f[(i-3*sd):(i+3*sd)] <- f[(i-3*sd):(i+3*sd)] + a*g(sd) sd = 5

i = 65 a = 11.5

f[(i-3*sd):(i+3*sd)] <- f[(i-3*sd):(i+3*sd)] + a*g(sd)

Schreiben Sie nun eine Funktion, die eine neuen Vektor zur¨uck liefert, der gerade diese lokalen Mitte- lungen enth¨alt. Schreiben Sie zwei Versionen, eine unter Nutzung vonsapply, eine unter Nutzung einer for-Schleife.

(2 Punkte)

Referenzen

ÄHNLICHE DOKUMENTE

• Sequenzenobjekte bestehen allgemein aus ihrer Sequenz und gegebenenfalls einem Namen (ei- ner ID,. ), sowohl Sequenz als auch Name sollen abgerufen werden k¨onnen.. • Eine

F¨ur dieses Gen sind bei NCBI (Genbank, http://www.ncbi.nlm.nih.gov/Genbank/index.html) meh- rere Sequenzen gespeichert, unter anderem auch eines der Chromosomen von Arabidopsis,

(b) Wiederholen Sie dies f¨ur unterschiedliche Teilmengen signifikanter Gene und wiederum unter- schiedliche Distanzen.. Vergleichen Sie wiederum die Ergebnisse, was beeiflusst

• Sequenzenobjekte bestehen allgemein aus ihrer Sequenz und gegebenenfalls einem Namen (ei- ner ID,. ), sowohl Sequenz als auch Name sollen abgerufen werden k¨onnen.. • Eine

Aus weiteren Experimenten scheint es wahrscheinlich, dass das zugeh¨orige Enzym eine Rolle im Zuckerhaushalt spielt.. Sie stehen nun vor der Aufgabe, mit Hilfe einer BLAST- Anfrage

Erzeugen Sie eine Vektor der L¨ange 100, wobei jedes Element nach einer Binomialverteilung mit n = 10, p = 0.3 gezogen wird.. Selektieren Sie aus diesem Vektor (in drei neue

Plotten Sie f¨ur alle Gene mit dem Teilstring “Lys” im Namen die Intensit¨aten ¨uber alle probes, und zwar einmal die perfect matches, dann die mis-matches.

(b) Wiederholen Sie dies f¨ur unterschiedliche Teilmengen signifikanter Gene und wiederum unter- schiedliche Distanzen.. Vergleichen Sie wiederum die Ergebnisse, was beeiflusst