Hallo Anna,
anna_stat hat geschrieben:Vielen Dank für deine Antwort! Das Einlesen hat geklappt!
da bin ich der Meinung, dass es noch Möglichkeiten zur Verbesserung gibt.
1. Beim Einlesen
stringsAsFactors=FALSE damit die Datumswerte nicht als Faktoren abgelegt werden.
2.
dec="," Denn bei Dir sind die Dezimalstellen durch ein Komma (und nicht durch einen Punkt) vom ganzzahligen Teil getrennt.
Code: Alles auswählen
> str(kark_data)
'data.frame': 81370 obs. of 30 variables:
$ stnr : Factor w/ 315 levels "4347","4355",..: 1 1 1 1 1 1 1 1 1 1 ...
$ datum : Factor w/ 2100 levels "01.01.2011","01.01.2012",..: 1 70 139 208 277 346 415 484 553 622 ...
$ lnr : num 1 1 1 1 1 1 1 1 1 1 ...
$ ltg : num 89 90 91 92 93 94 95 96 97 98 ...
$ kaldat: Factor w/ 273 levels "01.01.2015","01.03.2011",..: 29 29 29 29 29 29 29 29 29 29 ...
$ mty : num NA NA NA NA NA NA NA NA NA NA ...
$ koe : num NA NA NA NA NA NA NA NA NA NA ...
$ fun : num NA NA NA NA NA NA NA NA NA NA ...
$ eut : num NA NA NA NA NA NA NA NA NA NA ...
$ ges : num NA NA NA NA NA NA NA NA NA NA ...
$ groe : num NA NA NA NA NA NA NA NA NA NA ...
$ mch : num NA NA NA NA NA NA NA NA NA NA ...
$ kti : num NA NA NA NA NA NA NA NA NA NA ...
$ stae : num NA NA NA NA NA NA NA NA NA NA ...
$ bne : num NA NA NA NA NA NA NA NA NA NA ...
$ bbr : num NA NA NA NA NA NA NA NA NA NA ...
$ hwi : num NA NA NA NA NA NA NA NA NA NA ...
$ kwi : num NA NA NA NA NA NA NA NA NA NA ...
$ spr : num NA NA NA NA NA NA NA NA NA NA ...
$ hst : num NA NA NA NA NA NA NA NA NA NA ...
$ heu : num NA NA NA NA NA NA NA NA NA NA ...
$ zba : num NA NA NA NA NA NA NA NA NA NA ...
$ spv : num NA NA NA NA NA NA NA NA NA NA ...
$ sph : num NA NA NA NA NA NA NA NA NA NA ...
$ veu : num NA NA NA NA NA NA NA NA NA NA ...
$ eti : num NA NA NA NA NA NA NA NA NA NA ...
$ slae : num NA NA NA NA NA NA NA NA NA NA ...
$ mkg : num 34.8 36.4 35.8 35 35.2 ...
$ gew : num 509 495 495 NA NA ...
$ fts : num NA NA NA NA NA NA NA NA NA NA ...
> str(kark_data_neu)
'data.frame': 1048575 obs. of 8 variables:
$ mgkuh_7d : Factor w/ 285 levels "","#DIV/0!","474",..: 1 1 1 1 1 1 1 1 1 1 ...
$ rec_7d : int NA NA NA NA NA NA NA NA NA NA ...
$ mgkuh_11d: Factor w/ 287 levels "","#DIV/0!","476,2",..: 1 1 1 1 1 1 1 1 1 1 ...
$ rec_11d : int NA NA NA NA NA NA NA NA NA NA ...
$ mgkuh_15d: Factor w/ 295 levels "","475,9","476",..: 1 1 1 1 1 1 1 1 1 1 ...
$ rec_15d : int NA NA NA NA NA NA NA NA NA NA ...
$ mgkuh_19d: Factor w/ 297 levels "","475,9","478,5",..: 1 1 1 1 1 1 1 1 1 1 ...
$ rec_19d : int NA NA NA NA NA NA NA NA NA NA ...
Mein Problem: bei str(kark_data_neu) bei Variable mgkuh_7d und mgkuh_11d ist ein "#DIV/0!" angegeben. Kannst du mir sagen, was das bedeutet?
Da ist vermutlich irgendwas in meiner eingelesenen Excel Datei falsch oder?
Das "#DIV/0!" muss eigentlich so schon in der Excel-Tabelle stehen; da ist eine Formel mit einer Division und die Zelle, die den Divisor liefern soll, hat den Wert 0.
Du könntest, wenn das Problem sich nicht in Excel beheben lässt, versuchen, die Zeichenkette "#DIV/0!" in den Parameter
na.strings= zu setzen.
Auf welche Weise wird denn eingelesen
a) direkt von einer Excel-Datei oder
b) (nach Export von Excel in eine Textdatei) aus einer Textdatei?
EDIT: alle Variablen im neuen Datensatz sollen numerisch werden, wie im alten Datensatz auch.
dec="," Denn bei Dir sind die Dezimalstellen durch ein Komma (und nicht durch einen Punkt) vom ganzzahligen Teil getrennt.
Ich möchte nochmal auf Deine ursprüngliche Frage zurückkommen.
Ich habe einen Datensatz aus Excel in R eingelesen und mit diesem schon eine ganze Weile gearbeitet.
Nun möchte ich gerne diesen Datensatz erweitern.
Wie soll denn diese Erweiterung aussehen. Dein zweiter Dataframe stimmt weder in der Anzahl der Variablen mit dem ersten überein (somit ist ausgeschlossen, dass Du Zeilen des zweiten Dataframes an den ersten dranhängen möchtest) noch stimmt die Anzahl der Zeilen der beiden Dataframes überein (somit ist aus geschlossen, dass Du die Spalten des ersten Dataframes mit den Spalten des zweiten Dataframes durch einfaches nebeneinanderstellen erweitern möchtest).
Suchst Du nach
merge()
Bitte beschreibe genau, was Du tun möchtest (möglichst mit einem (reduzierten) Beispiel)
Gruß, Jörg