Entschuldigung, wenn es irgendwo hier eine Antwort auf meine Frage gab. Leider konnte ich es nicht finden.Gsub, extrahieren bestimmte Anzahl von Ziffern
Ich habe eine Zeichenfolge mit einer folgenden Form "ANNNNNNN.tif", wobei A nur ein Buchstabe ist und N eine Ziffer ist. Es gibt 7 Ziffern in einer Reihe.
new <- c("A2000001.tif" ,"A2000002.tif", "A2000003.tif", "A2000004.tif", "A2000005.tif", "A2000006.tif")
Ich möchte Jahr und Monat Wert daraus zu bekommen. die ersten 4 Ziffern stehen für das Jahr und die letzten 2 Monate. Z.B. Ich schrieb dies einen Jahreswert zu erhalten
year1 <- gsub("([0-9]){3,4}?.*$", "", new)
year <- as.numeric(gsub("A", "", year1))
Aber ich nehme an, es kürzer geschrieben werden kann, und ich kämpfe noch einen Monat Wert zu erhalten.
UPD: Und ich schrieb dies, um einen Monat zu bekommen.
month1 <- gsub("^*.([0-9]){6,7}?", "\\1", new)
month <- as.numeric(gsub(".tif", "", month1))
Aber noch zu Lernzwecken würde ich gerne wissen, wie man es besser macht.
Versuchen Sie, die Zeichenfolge zu erstellen oder die Ziffern zu extrahieren? Bitte klären Sie. –
Ich habe einen Namen der Dateien: "A2000001.tif" "A2000002.tif" "A2000003.tif" "A2000004.tif" "A2000005.tif" "A2000006.tif" usw. Ich will raus aus dem Jahr und Monat eines Bildes. Also die ersten 4 Ziffern stehen für das Jahr und die letzten 2 Monate. – Valerija
'read.fwf (textConnection (neu), widths = c (1, 4, 3), col.names = c ('Buchstabe', 'Jahr', 'Monat'))' .. äh, nicht sicher was extra 0 ist, wenn dies vermieden werden soll, können Sie es in eine separate Spalte 'read.fwf (textConnection (neu), Breiten = c (1, 4, 1, 2), col.names = c ('l ',' y ',' x ',' m ')) ' – rawr