Ich habe zwei Vektorenentsprechender Vektor auf WAHR/FALSCH Vektor in R
> filename
[1] "10021978_1909-07-21_ed-1_seq-4" "10021978_1910-01-19_ed-1_seq-31"
[3] "10021978_1910-01-19_ed-1_seq-31" "10021978_1910-01-19_ed-1_seq-31"
[5] "10021978_1910-01-19_ed-1_seq-31" "10021978_1911-06-07_ed-1_seq-12"
[7] "10021978_1911-07-05_ed-1_seq-11" "10021978_1911-07-12_ed-1_seq-11"
[9] "10021978_1911-07-12_ed-1_seq-11" "10021978_1911-09-27_ed-1_seq-4"
UND
> dups = duplicated(filename)
> dups
[1] FALSE FALSE TRUE TRUE TRUE FALSE FALSE FALSE TRUE FALSE
Ich bin der Umgang mit Dateien zu exportieren, aber keine Dateien mit doppelten Dateinamen zu überschreiben. Ich habe einige, die Duplikate in diesem Satz von 10 sind. Was ich tun muss, ist diese Dateinamen einzigartig zu machen.
Wie kann ich einen neuen Vektor erstellen, der nichts haben würde, wo der Vektor dups
FALSE
ist, und dann ungleich null wo TRUE
? Die knifflige Sache ist, dass ich es beginnen muss, beginnend mit 2 inkrementierend, wenn es eine Reihe von TRUE
nebeneinander gibt, dann wird zurückgesetzt, wenn es eine FALSE
gibt. Der Vektor ich für diesen Satz benötigen würde:
ans = c("", "", 2, 3, 4, "", "", "", 2, "")
, so dass ich es den Dateinamen anhängen kann mit Dubletten beschäftigen. Der letzte Dateiname, den ich benötige, wäre:
[1] "10021978_1909-07-21_ed-1_seq-4" "10021978_1910-01-19_ed-1_seq-31"
[3] "10021978_1910-01-19_ed-1_seq-31-2" "10021978_1910-01-19_ed-1_seq-31-3"
[5] "10021978_1910-01-19_ed-1_seq-31-4" "10021978_1911-06-07_ed-1_seq-12"
[7] "10021978_1911-07-05_ed-1_seq-11" "10021978_1911-07-12_ed-1_seq-11"
[9] "10021978_1911-07-12_ed-1_seq-11-2" "10021978_1911-09-27_ed-1_seq-4"
Vielen Dank im Voraus.
Warum nicht einfach 'make.unique (Dateiname)'? – A5C1D2H2I1M1N2O1R2T1
Schön. Diese Funktion wird mein Leben verändern. Vielen Dank! – tsouchlarakis