Daten in einer Excelzelle in einzelne Spalten separieren

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
leonard_24

Daten in einer Excelzelle in einzelne Spalten separieren

Beitrag von leonard_24 »

Guten Morgen,

ich habe ein kleines Problem, mit dem ich nicht so gut zurecht komme:

Es liegt ein Rohdatenfile (Excel) vor, die verschiedene Informationen zu Kunden enthält. Das Problem: Die Daten sind nicht in Spalten eingetragen, sondern sind, durch Kommas getrennt, einfach in den jeweiligen Zeilen der Spalte A drinnen:
Erst kommen die Spaltennummerierung (A bis C), darunter die Spaltenüberschrift (auch in Zelle A1 durch Kommas getrennt) und ab Zeile 2 die Infos, auch durch Kommas getrennt

A_______B______C_______
ID, Firma, Produkt
12, xyz, beta

Wie kann ich möglichst einfach in R die einzelnen Infos (ID, Firma, Produkt) trennen und in jeweils eine Spalte reinbauen?

Viele Grüße
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Daten in einer Excelzelle in einzelne Spalten separieren

Beitrag von jogo »

Hallo Leonard,

hast Du die Excel-Datei schon eingelesen und kannst uns die Struktur des Dataframes zeigen?
Um wie viele Zeilen/Beobachtungen geht es. Wenn es nicht allzu viele sind, gibt es noch andere Möglichkeiten.

Gruß, Jörg
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Daten in einer Excelzelle in einzelne Spalten separieren

Beitrag von EDi »

Rohdatenfile (Excel)
Vielleicht ist ja ja gar keine xls(x) Datei, sondern ein csv? Die kann man mit read.table direkt einlesen... Aber ohne ein Beispiel bleibt das Spekulation...
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Benutzeravatar
student
Beiträge: 674
Registriert: Fr Okt 07, 2016 9:52 am

Re: Daten in einer Excelzelle in einzelne Spalten separieren

Beitrag von student »

Wenn es eine csv-Datei ist und die Daten durch Kommas getrennt, dann hilft direkt read.csv() weiter.
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube

Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
leonard_24

Re: Daten in einer Excelzelle in einzelne Spalten separieren

Beitrag von leonard_24 »

sorry für die späte antwort:
> str(df)
'data.frame': 22406 obs. of 1 variable:
$ firm1_id.name.firm2_id.name.product1.product2.product3: Factor w/ 22406 levels "0,Firm a,123456,ABC GmbH,1,0,0",..: 309 325 342 ...
wenn ich direkt df aufrufe (eine bsp-zeile):

123456,ABC GmbH,222222,XZT GmbH,2,0,0

weiß allerdings nicht, ob das wirklich weiterhilft
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Daten in einer Excelzelle in einzelne Spalten separieren

Beitrag von jogo »

Hallo Leonard,

dann probier doch bitte:

Code: Alles auswählen

dfneu <- read.csv(text=df[,1], header=FALSE)
und lies bitte viewtopic.php?f=20&t=29 wegen der Formatierungen.

Gruß, Jörg
ruedi_br
Beiträge: 159
Registriert: Do Mär 01, 2018 3:53 pm

Re: Daten in einer Excelzelle in einzelne Spalten separieren

Beitrag von ruedi_br »

Eine weitere Variante wäre, mit read.table die Daten einzulesen, mit Header=FALSE, sep="," und col.names = c( ... Liste der Spaltennamen ...) die dann mit colClasses auch gleich den richtigen Variablentypen zugeordnet werden können.
Gruß Ruedi
fortune(111)
Antworten