Seite 2 von 2

Re: Data.Matrix

Verfasst: Mi Dez 21, 2016 2:01 pm
von Kaesetoast
Ich habe das Problem jetzt doch noch anders lösen können:

Code: Alles auswählen

data <- read.csv("../datasets/heatmaps_in_r.csv", comment.char="#")
mat_data <- data.matrix(data[,2:ncol(data)])  # transform column 2-5 into a matrix
rownames(mat_data) <- rnames                 
rownames(mat_data) <- c("Cacna1aa","Cacna1ba","Cacna1c","Cacna1da","Cacna1e","Cacna1f","Cacna1g","Cacna1i","Cacna1haa","Cacna1hab","Cacna1sa","Scn1a","Scn1lab","Scn4aa","Scn4ab","Scn8aa","Scn8ab") # assign row names

Code: Alles auswählen

> sessionInfo()
R version 3.3.2 (2016-10-31)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

locale:
[1] LC_COLLATE=German_Germany.1252  LC_CTYPE=German_Germany.1252    LC_MONETARY=German_Germany.1252
[4] LC_NUMERIC=C                    LC_TIME=German_Germany.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] gplots_3.0.1 readr_1.0.0 

loaded via a namespace (and not attached):
 [1] R6_2.2.0           assertthat_0.1     tools_3.3.2        tibble_1.2         Rcpp_0.12.8       
 [6] KernSmooth_2.23-15 gdata_2.17.0       caTools_1.17.1     bitops_1.0-6       gtools_3.5.0     

Re: Data.Matrix

Verfasst: Mi Dez 21, 2016 2:19 pm
von bigben
Hi!

Jetzt ist die ganze Kette von der csv-Datei bis hin zum Ergebnis nachvollziehbar und wird so auch weiter funktionieren. Irgendwann hast Du (implizit oder explizit) das Package tibble importiert (via library() oder require()). Dieses Package liefert eine eigene Datenform, die der Ersteller für besser als einen Dataframe hält. Zu den Verbesserungen gehört auch, dass "rownames" damit nicht funktioniert, wie hier erklärt wird: https://cran.r-project.org/web/packages ... ibble.html
It (tibble) never uses row.names(). The whole point of tidy data is to store variables in a consistent way. So it never stores a variable as special attribute.
LG,
Bernhard

Re: Data.Matrix

Verfasst: Mi Dez 21, 2016 3:16 pm
von EDi
Dieses Package liefert eine eigene Datenform, die der Ersteller für besser als einen Dataframe hält.
Ich mag das überhaupt nicht, vorallem da es z.T. einem aufgezwungen wird.
Siehe dazu auch die Diskussion hier.
Mit tibbles funktionieren auch einige packages nicht richtig und ich rufe zur vorsicht auf, wenn man damit arbeitet!

Ich lasse die Finger von den meisten tidyverse packages, soviel nutzen bringen sie nämlich nicht.
Tidy-Data kann man auch ohne haben / erzeugen.

Re: Data.Matrix

Verfasst: Mi Dez 21, 2016 5:31 pm
von bigben
Hallo EDi,

danke für den Link! Es beruhigt mich, über Wickham von schlaueren Dritten zu lesen, was ich selbst schon länger fühle:
Because it has you and your somewhat messianic zeal of forcing everybody to do things the way you deem to be the only acceptable one. You have both the platform and visibility to affect a lot of people
Das gilt für ggplot2 und "alle Daten müssen ein einem Dataframe sein", für den aufdringlichen Gebruach der Pipe von margritts, auch in Vignetten etc. und auch wenn ich nicht mehr genau weiß, wo das war: Auch auf tibbles bin ich gestoßen worden, als ich eine Anleitung für was anderes (dplyr?) lesen wollte. Auf CRAN habe ich mal was hochgeladen, da gab es Ärger, weil ggplot2-code nicht so ohne weiteres mit den Checks von CRAN verträgt (umständliche Lösung ließ sich finden, weil andere das Problem natürlich auch schon hatten) und wegen meines Package auf CRAN hat Hadley Wickham mich schon zwei oder dreimal angemailt, weil nach einer ggplot2-Überarbeitung mein Code angeblich Probleme beim CRAN-Check machte. Da soll dann jeder seine Packages überarbeiten, weil ggplot2 nicht mehr so funktioniert, wie es vorher funktioniert hat. Und so weiter. Ich habe mich gefragt, ob ich da allein zu empfindlich bin, deshalb freut mich der Hinweis von Dir.

Ist ggplot2 den Aufwand und die Umstellung wert? Ja, ggplot2 ist gut. Gibt es Wickham das Recht, R nach seinen Wünschen umzugestalten? Das wird die Abstimmung mit den Füßen zeigen und in der drücke ich data.table die Daumen!

LG,
Bernhard

Re: Data.Matrix

Verfasst: Mi Dez 21, 2016 7:57 pm
von student
Interessant!

Ich hatte in einer Diskussion den pipe-Operator in Frage gestellt, was zu einer interessanten Reaktion führte (... wie ist der denn drauf?). :)

tibble hat etwas mit mit "nested data frames" zu tun und zum letzten Kölner-R-User-Meeting hatten wir dazu (und anderem des Tidyverse-Universums) einen fast messianischen Vortrag gehört. Mein Universum ist das nicht und bevorzuge "Flatt is better than nested" aus Zen of Python von Tim Peters.