Re: nur die ersten 3 Buchstaben der Wörter aus einer Spalte auswählen
Verfasst: Do Jun 04, 2020 5:12 pm
Danke nochmal!
Letztendlich habe ich es geschafft und zwar damit:
angewendet auf meine Daten sieht es dann so aus:
Jetzt möchte ich aber die beiden Datentabellen "data_19" und "names" noch zusammenfügen, sodass die in "names" vorhandenen Spalten rechts an die Spalten von der Datentabelle "data_19" angefügt werden. Und diese neue Datentabelle soll "data_19_short_names heißen". Das müsste eigentlich ganz leicht gehen, aber ich übersehe irgendetwas und bin wirklich am verzweifeln, weil ich die Syntax kenne, aber es nicht schaffe, sie richtig an meine Daten anzuwenden. Ich sitze seit 2 Tagen daran und komme ohne konkrete Hilfe nicht weiter. Die Spalte "spec" haben sie gemeinsam, die soll in der fertigen Datentabelle nur einmal vorkommen.
Im Anhang sind Screenshots von den zwei Datentabellen, die ich zusammenfügen möchte. Ich hab mir die Hilfe in R zur merge Funktion schon angeschaut und die lautet so:
Ich habe dann versucht, es auf meine Daten anzuwenden und das sah so aus:
Natürlich hab ich noch viel mehr verschiedene Varianten versucht, bin jetzt aber am Ende meiner Nerven, weil ich den Code beim besten Willen nicht so verstehe, dass ich ihn richtig anwenden kann. Was mach ich z.B. bei dem Teil mit den Suffixes? Damit kann ich nach all dem Nachlesen und ausprobieren immer noch nix anfangen.
Kann mir bitte jemand helfen?
Liebe Grüße,
Evy
Letztendlich habe ich es geschafft und zwar damit:
Code: Alles auswählen
library(stringr)
names = data.frame(Name = c("Evelyn Ersthofer","Peter Hietz"))
names$short = paste(substr(word(names$Name,1),1,3),substr(word(names$Name,2),1,3))
names$caps = toupper(names$short)
Code: Alles auswählen
library(stringr)
names = data.frame(spec = data_19$spec)
names$short = paste(substr(word(names$spec,1),1,3),substr(word(names$spec,2),1,3))
names$caps = toupper(names$short)
Im Anhang sind Screenshots von den zwei Datentabellen, die ich zusammenfügen möchte. Ich hab mir die Hilfe in R zur merge Funktion schon angeschaut und die lautet so:
Code: Alles auswählen
merge(x, y, by = intersect(names(x), names(y)),
by.x = by, by.y = by, all = FALSE, all.x = all, all.y = all,
sort = TRUE, suffixes = c(".x",".y"), no.dups = TRUE,
incomparables = NULL,...)
Code: Alles auswählen
data_19_short_names = merge(data_19, names, by = intersect(names(x), names(y)),
by.x = by, by.y = by, all = FALSE, all.x = all, all.y = all,
sort = TRUE, suffixes = c(".x",".y"), no.dups = TRUE,
incomparables = NULL)
Kann mir bitte jemand helfen?
Liebe Grüße,
Evy